编写程序生成一个1-100之间的随机数,并将其作为秘密数字保存。然后程序将检查用户是否能猜出秘密号码。用户可以继续猜测数字,直到找到数字或者用户可以输入0,这将终止程序。
我被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();
}
}
}
}
将从最后一个else块获得输入的行移过else(但仍在循环中),它将正常工作。
您要这样做的原因是因为它进入了guess again条件之一(例如,“太低了!”)然后永远不进入最后的else,从而导致无限循环。
while (answer !=0){
// ommitted
else if ( answer == random1){
System.out.println("That is correct");
System.exit(0);
}
System.out.println("Guess the number");
answer = input.nextInt();
}
我想做一个简单的猜谜游戏,电脑应该猜出我在0和100之间选择的数字。尝试运行它,如果数字太低按1,如果数字太高按2。 1.如果我选择50,计算机猜测41,我按1,因为数字太低了 是55吗?2 是26吗?1 是35吗?1 是97吗?2
我已经停止编程一段时间了。大概4年左右,我只是想搞乱它,所以我决定做一个高:低数字猜谜游戏。(猜一个数字1-100,如果你猜得太高或太低,程序会说)我完全忘了我该怎么做:
我在做一个数字猜谜游戏: 计算机在间隔内生成一个数字 我试着猜测它,并收到一个回复,不管它是高于/低于我的猜测,还是等于我的猜测,我赢了 有一个可以猜测的间隔,还有一个猜测尝试限制
好吧,我知道这个以前有人问过,但我就是想不出哪里出了问题。以下是我的说明: “编写一个程序,生成1到1000之间的随机数。然后让用户猜猜数字是多少。如果用户的猜测值高于随机数,程序应该显示“太高,再试一次”。如果用户的猜测值低于随机数,程序应该显示“太低,再试一次”。程序应该使用一个循环,直到用户正确猜测出随机数。 还有,保持用户猜测次数的计数。当用户正确猜测随机数时,程序应该显示猜测的次数。输入
我已经尝试自己学习Java大约一个星期了,我决定尝试应用我(相当有限)的知识来制作一个简单的猜谜游戏。