嗨,这里只是一个有趣的数字猜测器,有人输入一个数字,我的while循环将运行,直到它达到输入的数字。它只是一个循环练习,因为我相对较新的Java,并希望更多的练习。这是我的代码。 (我正在使用IntelliJ IDEA)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
boolean password = false;
int passwordGuess = 0;
Scanner sc = new Scanner(System.in);
System.out.println("Enter a Password to be guessed");
int Password = sc.nextInt();
while (password) {
System.out.println("Test");
if (passwordGuess == Password){
System.out.println("Your Password is " + passwordGuess);
password = true;
}
else{
System.out.println(passwordGuess);
passwordGuess++;
}
}
}
}
打印输入要猜到的密码,然后我输入一个数字,然后打印"处理完成,退出代码为0"。任何想法,谢谢
答案 0 :(得分:3)
您已将密码变量初始化为false:
boolean password = false;
然后你尝试在你的
中使用它while (password){/*...*/}
如果密码错误,它将无法正常工作。
答案 1 :(得分:2)
您有一个变量password
,您将其设置为false。
你永远不会把它设置为true,所以你的while循环读取“while(false)”,这意味着它在运行块之前退出。
答案 2 :(得分:1)
while循环仅在expression为true时循环,并且您将password初始化为false。你的循环应该是:
while (!password)
答案 3 :(得分:1)
我认为我必须指出,对于任何值,整数转换为布尔值都是false。查看this question and answer.
所以你可以尝试使用orhtej2发布的解决方案
while (!password)
答案 4 :(得分:0)
设置'布尔密码= true'如果你想让你的while循环开始。
答案 5 :(得分:0)
while(false)
无法启动,目前您的password
设置为false
。如果您希望启动while循环,请设置boolean password = true
。