java - 尝试使用等于 "yes"或 "no"的字符串变量重新启动 do-while 循环

标签 java

计算行程距离的非常简单的程序(一周前刚刚开始),我有这个循环用于解决真或假问题,但我希望它适用于简单的"is"或“否”。我为此分配的字符串是答案。

public class Main {

public static void main(String[] args) {

    Scanner input = new Scanner(System.in);

    double distance;
    double speed;
    boolean again = true;
    String answer;

    do{
        System.out.print("Tell me your distance in miles: ");
        distance = input.nextDouble();
        System.out.print("Tell me your speed in which you will travel: ");
        speed = input.nextDouble();

        double average = distance / speed;

        System.out.print("Your estimated time to your destination will be: " + average + " hours\n\n");

        if(average < 1){
            average = average * 10;
            System.out.println(" or " + average + " hours\n\n");
        }

        System.out.println("Another? ");
        again = input.nextBoolean();       

    }while(again);

}

}

最佳答案

您需要使用 input.next() 而不是 input.nextBoolean(),并将结果与​​字符串文字 "yes" 进行比较code> (大概是不区分大小写的方式)。请注意,again 的声明需要从 boolean 更改为 String

String again = null;
do {
    ... // Your loop
    again = input.nextLine(); // This consumes the \n at the end
} while ("yes".equalsIgnoreCase(again));

关于java - 尝试使用等于 "yes"或 "no"的字符串变量重新启动 do-while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20915880/

相关文章:

Java.util.zip 替换单个 zip 文件

java - 在形状 javafx 周围绘制边框

java - MassIndexer.createIndexer() 在索引多个实体类型时卡住

java - Spring 和 Java 中的 Websocket

java运行时出现java.lang.UnsatisfiedLinkError : no lwjgl in java. libary.path

java - 实例级线程本地存储有什么优势?

java - 如何针对各种屏幕调整应用程序(JFrame)?

java - Maven Invoker 在 Tomcat 服务器上找不到 MAVEN_HOME 环境变量

java 。输出错误

java - 单击工具栏图标后,将当前 Java 文件作为 Java 应用程序在 Eclipse 中运行