我刚刚开始使用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");
}
}
答案 0 :(得分:0)
首先,您将扫描仪定义为keyboard
,然后尝试从in
读取。其次,您正在阅读int
而不是String
。
第三,使用Java中的.equals
进行字符串比较。
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");
}
}