gpt4 book ai didi

java - 让我的程序返回到 "top"(if 语句)(Java)

转载 作者:行者123 更新时间:2023-11-29 10:11:50 25 4
gpt4 key购买 nike

我有一个计算闰年的程序,但是,它只适用于 1750 年左右,所以我希望我的用户只能输入 1750 年之后的数字。

System.out.println("Enter a year after 1750:");
leapYear = in.nextInt();

if(leapYear<1750){
System.out.println("You have entered a year before 1750, please try again :");
leapYear = in.nextInt();
}

我的解决方案是放置一个 if 语句。然而,我意识到,这只有在用户输入一次低于 1750 的值时才有效。如果他们再次这样做,程序将继续进行。有没有一种方法可以在不重写的情况下多次执行语句“您已输入 1750 年之前的一年,请重试:”?

我在想也许 while 语句可以工作(如果 while 语句可以工作,我怎么能在不导致无限循环的情况下做到这一点)?

最佳答案

while 语句是正确的。防止它无限执行非常简单。一旦用户输入了正确的年份,循环条件就会评估为 false 并退出。

System.out.println("Enter a year after 1750:");
leapYear = in.nextInt();

while(leapYear < 1750){
System.out.println("You have entered a year before 1750, please try again :");
leapYear = in.nextInt();
}

您还可以尝试使用 do-while 循环来减少重复代码:

do{
System.out.println("Please enter a year after 1750:");
leapYear = in.nextInt();
}while(leapYear < 1750);

用户将被重新提示输入 1750 之后的年份,这会需要一条错误消息。

关于java - 让我的程序返回到 "top"(if 语句)(Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30924912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com