java如何做,边做边循环这段代码?
我有以下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 +
".");
}
}
我需要用户写出错误的答案,他会再次得到问题“你多大了?”,等他再试一次。。 我要做什么? 谢谢你的帮助!!:)
# 1 楼答案
Onewhile块不正确,您必须使用:
两个
虽然接缝条件不正确,但您必须检查最小和最大年龄,而不仅仅是最大年龄,因此您可以使用:
因此,如果年龄小于最小值或最大值,则再次重复最大值
三个这个如果永远不会执行:
4个
相反,你可以在循环中阅读年龄:
希望这能让你了解你的问题
# 2 楼答案
请试试这个:
# 3 楼答案
1)应该使用以下条件:
if (age >= 25 && age <= 300){
而不是if (age >= 25){
否则条件为
true
,即使age
超过300并且您不想:2)如果值不正确,还应允许用户输入新的输入
age = keyboard.nextInt();
应该在循环中3)你应该让循环完成。
在while语句中,可以指定需要用户进行新输入的条件:
这就给出了代码(未测试):