オブジェクト指向に入る前に基礎力をUPしておこう。
Q1
受験人数(1~9人)を入力させる。
各受験生の点数をランダム(0〜50)に発生させ、採点結果を一覧表示する。
[実行結果]
■ 受験人数(1~9人)を入力してください:5
------------------------------------------------------------
■ 採点結果 一覧表
------------------------------------------------------------
受験者1 |*********+*********+*********+***** 35点
受験者2 |*********+*********+*********+****** 36点
受験者3 |*********+****** 16点
受験者4 |*********+*********+******** 28点
受験者5 |*********+*********+**** 24点
--------|---------+---------+---------+---------+---------+
0 10 20 30 40 50
ブラウザで表示するとずれるが、コンソールでは以下のように表示される。

import java.util.*;
public class Q1 {
public static void main(String[] args) {
System.out.print("■ 受験人数(1~9人)を入力してください:");
int num = new Scanner(System.in).nextInt();
int[] scores = new int[num];
Random rand = new Random();
for (int i = 0; i < scores.length; i++) {
scores[i] = rand.nextInt(51);
}
printScore(scores);
}
public static void printScore(int[] arr) {
// printHeader
System.out.println("------------------------------------------------------------");
System.out.println(" ■ 採点結果 一覧表");
System.out.println("------------------------------------------------------------");
// printStar
for (int i = 0; i < arr.length; i++) {
System.out.printf("受験者%d |", i + 1);
for (int j = 1; j <= arr[i]; j++) {
System.out.print(j % 10 == 0 ? '+' : '*');
}
System.out.printf(" %d点\n", arr[i]);
}
// printFooter
System.out.println("--------|---------+---------+---------+---------+---------+");
System.out.println(" 0 10 20 30 40 50");
}
}

コメント