0

我刚开始使用 Java,正在学习 Do/While 循环和布尔值;但是,nexInt 不断弹出错误。我不知道我在做什么:)。这是该程序应该完成的分配:“设置密码变量并为该变量分配密码。运行您的程序并输入无效密码以检查您的布尔逻辑是否正确。一旦输入正确的密码,程序应该停止要求输入。”

这是我到目前为止所拥有的:

import java.util.Scanner;
import static java.lang.System.*;

class PasswordCheck
{
    private String password;

    public PasswordCheck()
    {
        password = "ilovecats";
    }

    public void check()
    {
        Scanner keyboard = new Scanner(System.in);
        do
        {
            int p;
            System.out.println("Enter the password :: ");
            p = in.nextInt();
            System.out.println("INVALID");
        }while (password!=p);
        System.out.println("VALID");
    }
}
4

1 回答 1

0

首先,您将扫描仪定义为keyboard,然后尝试从in. 其次,您正在阅读 aint而不是 a String

第三,字符串比较是.equals在 Java 中完成的。

import java.util.Scanner;
import static java.lang.System.*;

class PasswordCheck
{
    private static String password = "ilovecats";

    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        while (true)
        {
            String p;
            System.out.println("Enter the password :: ");
            p = in.next();
            if (!password.equals(p)) {
                System.out.println("INVALID");
                continue;
            }
            break;
        } 
        System.out.println("VALID");
    }
}
于 2015-01-27T22:03:55.220 回答