Max*_*pin 0 java loops boolean
我正在创建一个简单的游戏,其中生成一个随机数,如果你猜对了,你就赢了!我的问题:有一个循环(运行)继续运行游戏,直到玩家决定退出.当玩家选择退出时,循环应设置为false并停止,但当玩家点击退出时,程序会重复循环.将boolean设置为false的程序部分用粗体表示.
import java.util.Scanner;
import java.util.Random;
public class RunHiLowGame {
public static void main(String[] args) {
// TODO Auto-generated method stub
//variables
String name;
int guess;
int guessnum = 0;
boolean run = true;
int number;
int choice;
Scanner input = new Scanner(System.in);
Random r = new Random();
number = 1;
//welcome
//create loop to ask guess then check if high or low
while (run = true) {
//enter guess
System.out.println("Enter your guess:");
guess = input.nextInt();
//if low say press 1 to retry
if (guess > 0 && guess < 100) {
if (guess < number) {
System.out.println("Your number was too low! Guess again!");
guessnum++;
}
else if (guess > number) {
System.out.println("Your number was too high! Guess again!");
guessnum++;
}
else if (guess == number) {
System.out.println("You have won!");
guessnum++;
System.out.println("Amount of guesses:" + guessnum );
System.out.println("Press 1 to play again or press 2 to exit the game.");
choice = input.nextInt();
if (choice == 1) {
System.out.println("Restarting.\n");
}
else if (choice == 2) {
System.out.println("Exiting.");
run = false
}
else {
System.out.println("Error.");
}
}
else {
System.out.println("Invalid answer.");
}
}
}
System.out.println("Exited.");
}
}
Run Code Online (Sandbox Code Playgroud)
=
当你需要两个时,你就有一个
while(run = true)
Run Code Online (Sandbox Code Playgroud)
一个,它的赋值(它也产生Java中赋值).就像是,
while(run == true)
Run Code Online (Sandbox Code Playgroud)
你也可以使用更简单的
while (run)
Run Code Online (Sandbox Code Playgroud)