2016-01-10 1 views
-4

Кто-нибудь знает, почему там ошибка с этим фрагментом кода?Как заставить пользователя вводить данные до тех пор, пока они не войдут в quit, тогда система отобразит все введенные данные

for (int i=0; i<99; i++) 
{ 
    Scanner scan = new Scanner(System.in); 
    System.out.print ("Please Enter Game Name: Achievement Score: Minutes Played "); 

    Input1=scan.nextLine(); 
    if (Input1.compareTo("quit")) 
     break; 
+0

Он не компилируется, так как 'compareTo' не возвращает' boolean'. Вместо этого используйте 'equals'. Я предлагаю вам прочитать сообщение об ошибке, и если вы не знаете, что это значит, включите его в вопрос. Я также предлагаю вам улучшить форматирование с помощью среды IDE. –

ответ

0

compareTo() Используется для сравнения номеров.
Для сравнения текста, вы хотите использовать equals().

например.
if (Input1.equals("quit"))

0

Используйте .equals() для сравнения двух строк. Если вы хотите сравнить две строки независимо от случая, вы можете использовать .equalsIgnoreCase(). Приведенный ниже код будет принимать значения и хранить их в ArrayList, когда пользовательские типы покидают результаты, которые хранятся в ArrayList, представлены пользователю.

Scanner scan = new Scanner(System.in); 
    String input; 
    ArrayList<String> inputValues = new ArrayList<String>(); 

    for (int i = 0; i < 99; i++) { 
     System.out.print("Please Enter Game Name... "); 
     input = scan.nextLine(); 
     if(input.equals("quit")) { 
      if(inputValues.size() == 0) { 
       System.out.println("\nNo values have been entered"); 
      } else { 
       System.out.println("\n******* Inputted Data *******"); 
       for (String anInputText : inputValues) { 
        System.out.println("Game Name " + anInputText); 
       } 
      } 
      break; 
     } else { 
      inputValues.add(input); 
     } 
    } 
} 
Смежные вопросы