程序要求输入密码,否则你会尝试 3 次,如果你失败 3 次,它就会锁定(理论上)。
问题:
while 循环应该怎么写,现在它只是说“Line can't be resolved to a variable”,我不知道怎么解决。
减少尝试次数也不起作用。应该怎么写?
代码如下:
import java.util.Scanner;
public class Application {
public static void main(String[] args) {
while(line != correctPass) {
String correctPass = "Java";
System.out.println("Enter the password");
Scanner input = new Scanner(System.in);
String line = input.nextLine();
if(line.equals(correctPass)) {
System.out.println("Wellcome back sir!");
break;
}
else {
int num = 3;
System.out.println("Wrong password, please try again! " + num + " attempts left!");
num = num - 1;
if(num == 0) {
System.out.println("System Locked!");
break;
}
}
}
}
}
最佳答案
line
在声明之前使用。尝试将声明作为 String line = null
放在顶部。
此外,因为您在循环中设置 num = 3
,它永远不会递减。需要在循环外设置为3。
我强烈建议您查看 this tutorial .
还有一些其他问题,您可能需要检查 something != somethingElse
和 !something.equals(somethingElse)
之间的区别。
关于java - while循环条件怎么写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30245813/