テストの点数を集計したい?!
生徒
教授のお手伝いって、テストの点数を集計して平均点を出せばいいのですか?
教授
ええ、そうですよ?
お刺身にタンポポを乗せる感じの、簡単なお仕事です。
生徒
簡単……なんですかね?
なんか、めんどくさそうですけど。
Javaでナントカならないのですか?
教授
ふむふむ。
確かに、Javaに任せてみるのもいいかもですね。
Javaでは次のようになりますよ?
import java.util.Scanner;
public class Heikin {
private static String[] c;
private static String[] s;
private static int[] ten;
public static void main(String[]args){
int sum = 0;
double heikin;
String n;
int m;
System.out.println("科目数を入力してください。");
Scanner num = new Scanner(System.in);
n = num.nextLine();
m = Integer.parseInt(n);
System.out.println("科目数は"+ m +"です。");
c = new String[m];
s = new String[m];
ten = new int[m];
for(int i = 0; i < m; i++){
System.out.println("科目を入力してください。");
Scanner course = new Scanner(System.in);
c[i] = course.nextLine();
System.out.println("科目は"+ c[i] +"です。");
System.out.println("点数を入力してください。");
Scanner score = new Scanner(System.in);
s[i] = score.nextLine();
ten[i] = Integer.parseInt(s[i]);
System.out.println("点数は"+ ten[i] +"です。");
}
for(int i = 0; i < m; i++){
sum = sum + ten[i];
}
heikin = (double)sum / m;
for(int i = 0; i < m; i++){
System.out.println(c[i] +"は"+ten[i] +"点です。");
}
System.out.println("平均点は"+ heikin + "点です。");
}
}
Javaの配列
生徒
こ、これは?!
教授
Javaの配列を使った何かです?
生徒
はあ、そうですか。
ここの部分で配列の宣言ですね?
private static String[] c;
private static String[] s;
private static int[] ten;
教授
配列用の変数を用意しています。
配列を確保するには、こうしますよ?
new 型名[要素の個数]
生徒
これですね。
c = new String[m];
s = new String[m];
ten = new int[m];
教授
ちなみに、Javaの配列の要素は必ず0番目から始まりますので、ちょっと注意が必要です。
生徒
科目数に5を入力すると、配列の要素は、「0・1・2・3・4」の5個になるというわけですね。
生徒の平均点は?
教授
ところで、君の平均点は何点でしたか?
生徒
配慮の欠片もない質問はやめてください。
教授
そうですか?
教授は、興味津々ですが。
生徒
あ、教授。
あとは、私が一人で作業しますので、出て行ってください。
教授
やれやれ、ここは教授の部屋なんですけどね。
ちなみに、君の点数は教授が計算しますので、対応不要です。
生徒
それは、とても残念です。