我的While循环不会开始

时间:2017-08-18 18:27:32

标签: java

嗨,这里只是一个有趣的数字猜测器,有人输入一个数字,我的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"。任何想法,谢谢

6 个答案:

答案 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