Java - 使用sentinel循环重新提示用户

时间:2014-01-28 04:20:23

标签: java

我要做的是继续从用户那里获取浮点数,直到他们输入字符串“quit”。

到目前为止我所拥有的:

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

我不知道如何检查输入是否“退出”然后相应退出程序。

1 个答案:

答案 0 :(得分:4)

您可以使用nextLine()阅读String,以便与"quit"进行比较。如果不是"quit",那么您可以使用方法Stringdouble转换为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子句来处理异常。