编写一个程序,生成一个介于 1 到 100 之间的随机数,并将其保存为秘密数字。然后程序将检查用户是否可以猜出密码。用户可以继续猜数字直到找到数字,或者用户可以输入 0,这将终止程序。
每次用户进行猜测时,程序都会报告如下:
- 太高或太低(超过 30 折)
- 高或低(相差 10 到 30 分)
- 有点高或有点低(低于 10 分)
如果密码是 74 并且用户输入 26,程序将打印“Way too Low”。如果用户然后说 65,那么程序将打印“A Little Low
我被 if 语句卡住了,也许我的结构不正确。我不确定 。
import java.util.Scanner;
public class SecretNumber {
public static void main(String[] args){
int random1, answer;
Scanner input = new Scanner(System.in);
random1 = (int)(Math.random()*10);
System.out.print(random1);
System.out.println("Guess the number");
answer = input.nextInt();
while(answer != 0) {
if (answer > (random1 + 30)){
System.out.println("Way to high");
}
else if ( answer > ( random1 - 30)){
System.out.println("Way to low");
}
else if (answer > random1 + 10 && answer < random1 + 30){
System.out.println("High");
}
else if (answer > random1 - 10 && answer < random1 - 30 ){
System.out.println("Low");
}
else if ( answer > random1 + 10){
System.out.println("A little high");
}
else if ( answer < random1 - 10){
System.out.println("A little low");
}
else if ( answer == random1){
System.out.println("That is correct");
System.exit(0);
}
else {
System.out.println("Guess the number");
answer = input.nextInt();
}
}
}
}