2017-01-24 10 views
-3

Я предполагаю сделать одномерный массив, пока пользователь не войдет в «alldone», однако я не знаю, как это сделать. Это то, что у меня есть, и я знаю, что это неправильно.eOne Размерный массив со строковым вводом на java. Не знаю, как заставить массив прекратить принимать входные данные до тех пор, пока пользователь не войдет в «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

Можете ли вы поделиться кодом с нами? Stack Overflow - это не бесплатная служба написания кода, вопреки тому, что вы, возможно, слышали от других людей. –

+0

Пожалуйста, разместите код, написанный вами. – nullpointer

+0

жаль, что я новичок в кодировании, и я подумал, что я вставил его здесь – ja1996

ответ

1

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

 if (!name.equals("alldone")) 
+0

Мне жаль тупым вопросом, но после этого я сделаю For Loop, чтобы пользователь вводил имена? или что я буду делать? – ja1996

+0

Na, то, что у вас было сперва, почти там. –

+0

Мне жаль, что я хотел спросить, как я начну массив, я положил System.out.print ("Enter" + studentName.length + "values:"); \t \t \t для (INT I = 0; я ja1996