我正在尝试编写代码,要求我插入我的年龄。如果它低于 10,我希望它再问我 3 次。如果超过 10,它会说“欢迎”。我没能做到这一点。
package newProject;
import java.util.Scanner;
public class mainclass {
public static void main(String[] args) {
System.out.println("Enter your age");
Scanner age= new Scanner(System.in);
int userage= age.nextInt();
if(userage<10){
for(int x = 3;x<3;x++){
System.out.println(userage+ "is too young");
System.out.println("Enter your age");
int userage1= age.nextInt();
}
}else{
System.out.println("welcome");
}
}
}
无论你的程序的意义如何,你的错误都在于你在 x 变量中设置的值。您必须将 x 的值设置为 0,以便迭代 3 次。
System.out.println("Enter your age");
Scanner age= new Scanner(System.in);
int userage= age.nextInt();
if(userage<10) {
// You have to set x to 0 not 3
for(int x = 0;x<3;x++){
System.out.println(userage + "is too young");
System.out.println("Enter your age");
int userage1= age.nextInt();}
}
else{
System.out.println("welcome");
}
问题来了:
for(int x = 3;x<3;x++)
您已将
for
循环设置为只要 x
小于 3 就运行,但您已声明 x
等于 3。因此,条件 x<3
永远不会满足,因此循环永远不会运行。这是你应该做的:
for (int x=0; x<3; x++)
顺便说一句,请使用正确的缩进来格式化您的代码。如果没有缩进,阅读起来相当困难。
package newProject;
import java.util.Scanner;
public class mainclass {
public static void main(String[] args) {
System.out.println("Enter your age");
Scanner age= new Scanner(System.in);
int userage= age.nextInt();
if(userage<10){
for(int i = 0;i<3;i++){
System.out.println(userage+ "is too young");
System.out.println("Enter your age");
int userage1= age.nextInt();
}
}
else{
System.out.println("welcome");
}
}
}
如果你想强制用户输入3次,请在nextInt()下面添加这一行: 年龄.nextLine();