eOne Dimensional Array со строковым вводом на Java. Не знаю, как заставить массив перестать принимать ввод, пока пользователь не введет "alldone"

Я предполагаю сделать одномерный массив, пока пользователь не введет "alldone", однако я не знаю, как это сделать. Это то, что у меня есть, и я знаю, что это неправильно.

Инструкция "Разработайте решение, которое запрашивает и получает имена учеников и результаты экзаменов для каждого. Используйте одномерные массивы для решения этой проблемы.

Программа должна продолжать принимать имена и оценки, пока пользователь не введет студента, чье имя "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

1 ответ

Вы должны использовать это вместо:

        if (!name.equals("alldone"))
Другие вопросы по тегам