ユーザーが「alldone」と入力するまで、1次元配列を作成することを想定していますが、作成方法がわかりません。これは私が持っているものであり、それが間違っていることを知っています。
指示は、「生徒の名前とそれぞれの試験の点数を要求して受け取るソリューションを設計します。これを解決するには、1 次元配列を使用します。
プログラムは、ユーザーが「alldone」という名前の生徒を入力するまで、名前とスコアを受け入れ続ける必要があります。入力が完了したら、どの生徒が最高得点を持っているかを判断し、その生徒の名前と得点を表示します。最後に、名前と対応するスコアのリストを昇順に並べ替えます。」
これまでのコード:
String name = "";
String highName = "";
int highScore = 0;
while (name != "alldone") {
System.out.println("Enter name of student");
name = input.nextLine();
System.out.println("Enter grade of student.");
int score = input.nextInt();
if (name != "alldone" && score > highScore)
highName = name;
highScore = score;
// System.out.println("Enter name"); name = input.nextLine(); }
// System.out.println(highName + " had the highest score which was "
// + highScore);
}
今私はこれをやった
Scanner in = new Scanner(System.in);
int size= 1;
String[] studentNames= new String[size];
System.out.println("Enter name of student");
String input = in.nextLine();
String name = input;
if (!name.equals("alldone")) {
for (int i = 0; i < size; i++)
studentNames[i]= in.nextLine();
}
else return;
for (int k = 0; k<studentNames.length; k++) {
System.out.println(studentNames[k] + " "); //so it can display names