尝试运行 while 循环进行密码检查。我确实不断收到无法找到变量 haslo 的错误。尝试在循环之外声明它 - 然后它说,它已经声明了。我知道这可以通过无限循环和break命令来完成。只是好奇这种方式是否可行。
String password = "pw123";
while (!haslo.equals(password)){
System.out.println("Enter pw:");
String haslo = reader.nextLine();
if (haslo.equals(password))
System.out.println("Right!");
else
System.out.println("Wrong!");
}
最佳答案
- 在循环开始之前将变量 haslo 声明为
String haslo = "";
。 - 在循环中,将行
String haslo = reader.nextLine();
替换为haslo = reader.nextLine();
。
推理:
For 1 --> 您的 while
循环在声明变量 haslo 之前引用它。所以需要在引用之前声明它。
For 2 --> 一旦声明了它,您就不想重新声明它,因为循环之前声明的已经在循环范围内可用。
关于Java,while 循环内部带有扫描器并作为语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46283327/