java - 当用户输入负值时如何退出程序 - Java

标签 java

扫描仪输入 = new Scanner(System.in);

    System.out.print("How much can you afford for meals per day? Enter it now ");
    double mealAmount = input.nextDouble();  

最佳答案

这是因为您的测试仅在获得 3 个 double 值之后才执行。由于 input.nextDouble(),您应该在获取每个变量的值后立即移动与每个变量对应的测试。

您的代码应该是:

System.out.print("How much can you afford for meals per day? Enter it now ");
double mealAmount = input.nextDouble();  

if (mealAmount <0)
    System.exit(0);
else if (mealAmount < 15.00 && mealAmount >=0)
    System.out.println("No meal for you. Tough luck.");
else if (mealAmount >= 15.00 && mealAmount < 30.00)
    System.out.println("You can afford bronze meals.");
else if (mealAmount >= 30.00 && mealAmount < 60.00)
    System.out.println("You can afford silver meals.");
else if (mealAmount >= 60.00)
    System.out.println("You can afford gold meals.");
...

注意:无需显式调用System.exit(0),只需使用return即可。

关于java - 当用户输入负值时如何退出程序 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40048560/

相关文章:

Java 多播套接字在 Windows 上不起作用(SocketPermission 异常)

java - 对对象列表进行排序和过滤

java - Jersey JSON 响应作为 HttpUrlConnector 而不是 JSON

JAVA。运行来自不同类的函数

java - Android:AsyncTask 可以重新创建自己吗?

java - 自定义类和 JList

java - 如何将一个 HashMap 列表中的不同值添加到另一个 HashMap 列表

java - 如何在数组中的每个元素的末尾添加一个逗号

java - 如何解析 CSV 文件以便 Mahout 对其进行分类

java - Android Websocket 客户端超时时间过长