我想创建一个数字猜测程序,用户输入一个数字,程序会告诉您输入是否太高,太低或正确。程序选择0-100之间的随机数。问题是,当我开始测试程序时,当我选择1时,程序告诉我猜测过高。但是这是错误的,因为程序只能做整数。如果用户输入的号码不等于随机数,则1必须太低。 有人可以看看我的代码,看看是否有什么奇怪的。数字猜测程序错误?
int guess;
int guess2;
int guess3;
int guess4;
int guess5;
int random = (int)Math.random() * 100;
Scanner input = new Scanner(System.in);
System.out.println("Try to guess a number between 0-100. You have five chances.");
guess = input.nextInt();
if(guess >= 100 || guess <= 0){
System.out.println("Error, that is not a number between 0-100.");
} else if(guess > random){
System.out.println("The guess is too high.");
} else if(guess < random){
System.out.println("The guess is too low.");
} else if(guess == random){
System.out.println("YOU WIN");
} else{
}
System.out.println("Second guess.");
guess2 = input.nextInt();
if(guess2 >= 100 || guess2 <= 0){
System.out.println("Error, that is not a number between 0-100.");
} else if(guess2 > random){
System.out.println("The guess is too high.");
} else if(guess2 < random){
System.out.println("The guess is too low.");
} else if(guess2 == random){
System.out.println("YOU WIN");
} else{
}
System.out.println("Third guess.");
guess3 = input.nextInt();
if(guess3 >= 100 || guess3 <= 0){
System.out.println("Error, that is not a number between 0-100.");
} else if(guess3 > random){
System.out.println("The guess is too high.");
} else if(guess3 < random){
System.out.println("The guess is too low.");
} else if(guess3 == random){
System.out.println("YOU WIN");
} else{
}
System.out.println("Fourth guess.");
guess4 = input.nextInt();
if(guess4 >= 100 || guess4 <= 0){
System.out.println("Error, that is not a number between 0-100.");
} else if(guess4 > random){
System.out.println("The guess is too high.");
} else if(guess4 < random){
System.out.println("The guess is too low.");
} else if(guess4 == random){
System.out.println("YOU WIN");
} else{
}
System.out.println("Last guess.");
guess5 = input.nextInt();
if(guess5 >= 100 || guess5 <= 0){
System.out.println("Error, that is not a number between 0-100.");
} else if(guess5 > random){
System.out.println("The guess is too high.");
} else if(guess5 < random){
System.out.println("The guess is too low.");
} else if(guess5 == random){
System.out.println("YOU WIN");
} else{
}
所以“return”在if语句中结束程序? – Nocturne 2014-09-19 04:33:08
返回标记方法的结束。在这种情况下,你在程序的主要方法main()中,所以它会结束程序。 – nostromo 2014-09-19 04:33:46
@nostromo你好吗?只是友好的点你有没有看到这条线?如果(guess2> = 100 || guess2 <= 0){它在0和100之间吗? – 2014-09-19 04:36:01