2016-01-10 21 views
-4

有没有人知道为什么这段代码有错误?如何让用户输入数据,直到他们输入退出,然后系统显示所有输入的数据

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); 
     } 
    } 
} 
相关问题