java 如何通过在控制台中询问用户是否要重复计算来执行一段代码

woobm2wo  于 2023-01-11  发布在  Java
关注(0)|答案(1)|浏览(101)

我已经编写了通过进入控制台来执行计算的代码,现在我想询问用户是否希望通过在控制台中输入“Y”或“N”来再次执行计算。
我用一个简单的if语句解决了这个部分,但是现在我想再次执行上面的整个代码,以防用户输入“Y”,有没有人对这个问题有什么建议?

System.out.println("Wollen Sie die Rechnung nocheinmal ausführen? Y / N");

    String yesorno2 = StdIn.readString();
    if (yesorno2.equals("Y")) {
        //Should repeat the code above
    } else {
        System.out.println("Auf Wiedersehn");
        //Should say the text above and end the code
    }
}
yacmzcpb

yacmzcpb1#

有几种方法可以重复上面的代码,这取决于你想要完成什么。一种方法是使用while循环,只要用户输入“Y”,它就会继续执行代码。下面是一个例子:

while (yesorno2.equals("Y")) {
    // code to repeat goes here
    System.out.println("Wollen Sie die Rechnung nocheinmal ausführen? Y / N");
    yesorno2 = StdIn.readString();
}
System.out.println("Auf Wiedersehn");

另一种方法是使用do-while循环,如下所示:

do {
    // code to repeat goes here
    System.out.println("Wollen Sie die Rechnung nocheinmal ausführen? Y / N");
    yesorno2 = StdIn.readString();
} while (yesorno2.equals("Y"));
System.out.println("Auf Wiedersehn");

最好将需要重复的代码封装在一个函数中,这样就可以轻松地多次调用它。
你也可以使用递归,这是一种涉及到函数自身调用的技术,这也可以让你把需要在单个函数中重复的代码 Package 起来,但是它可能更难实现,如果没有正确实现,可能会导致堆栈溢出。

相关问题