2014-01-28 46 views
-7

我想要做的就是不断从用户那里获取浮点数,直到他们输入字符串“quit”。Java - 使用哨兵循环来重新提示用户

我有什么至今:

System.out.print("Enter double: "); 
    x = sc.nextDouble(); 

我不知道如何检查,如果输入“跳槽”,然后相应地退出程序。

回答

4

您可以使用nextLine()来阅读String,以便您可以将其与"quit"进行比较。如果不是"quit",那么你可以说String转换成double与方法Double.parseDouble()

public static void main(String args[]) 
{ 
    Scanner sc = new Scanner(System.in); 
    String input = ""; // You will reaceive input as String 

    double x = 0.0; 

    while (true) { 
     input = sc.nextLine(); 
     if (input.equals("quit")) { 
      break; 
     } 
     x = Double.parseDouble(input); 
    } 
} 

注:如果用户输入一个String不是"quit",那么你会得到一个Exception。发生这种情况是因为您试图将String(不代表数字)转换为double。如果您要想要来处理这种情况,请添加try-catch子句来处理该异常。