-3

ユーザーが「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
4

1 に答える 1