gpt4 book ai didi

java - 如何执行此代码的 while 循环?

转载 作者:行者123 更新时间:2023-12-03 02:16:52 44 4
gpt4 key购买 nike

我有这个java代码:

public class Ages {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);

int value = 0;
String name;
int age;



System.out.print("Hey, what's your name? ");
name = keyboard.next();
System.out.println();

System.out.print("Ok, " + name + ", how old are you? ");
age = keyboard.nextInt();
System.out.println();

do{
if(age < 16){
System.out.println("You can't visit in the museum, " + name + ".");

if(age < 18);
System.out.println("You can't visit in the park, " + name + ".");
}
if (age < 25){
System.out.println("You can't visit if you have a car, " + name + ".");
}
if (age >= 25){
System.out.println("You can do anything, " +
name + ".");

}
while(age > 300);
System.out.println("It's not correct..Try Again, " + name +
".");


}
}

我需要该用户写出错误的答案,他会再次收到问题“你多大了?”,然后在他再次尝试后..我要做什么?谢谢您的帮助!! :)

最佳答案

一个 while block 不正确,您必须使用:

System.out.println("It's not correct..Try Again, " + name + ".");

do {
if (age < 16) {
System.out.println("You can't visit in the museum, " + name + ".");

if (age < 18);
System.out.println("You can't visit in the park, " + name + ".");
}
if (age < 25) {
System.out.println("You can't visit if you have a car, " + name + ".");
}
if (age >= 25) {
System.out.println("You can do anything, "
+ name + ".");

}
//while(age > 300);<<----------wrong position

System.out.println("It's not correct..Try Again, " + name + ".");

} while (age > 300);//<<----------correct position

两个

while 条件接缝不正确,您必须检查最小和最大年龄,而不仅仅是最大年龄,因此您可以使用:

 while (age < minAge || age > maxAge );

因此,如果年龄小于最小值或大于最大值,则再次重复

三个如果永远不会执行:

if (age < 18);//<<----------------note the ; it mean your if is end
System.out.println("You can't visit in the park, " + name + ".");

相反,您可以读取循环内的年龄:

System.out.print("Hey, what's your name? ");
name = keyboard.next();
System.out.println();

do {

System.out.print("Ok, " + name + ", how old are you? ");
age = keyboard.nextInt();
System.out.println();
....
}while(..);
<小时/>

希望这能让您了解您的问题。

关于java - 如何执行此代码的 while 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44095479/

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