Java,while 循环内部带有扫描器并作为语句

标签 java loops while-loop

尝试运行 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!");
}

最佳答案

  1. 在循环开始之前将变量 haslo 声明为 String haslo = "";
  2. 在循环中,将行 String haslo = reader.nextLine(); 替换为 haslo = reader.nextLine();

推理:

For 1 --> 您的 while 循环在声明变量 haslo 之前引用它。所以需要在引用之前声明它。

For 2 --> 一旦声明了它,您就不想重新声明它,因为循环之前声明的已经在循环范围内可用。

关于Java,while 循环内部带有扫描器并作为语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46283327/

相关文章:

java - 添加到循环中的字符串

python - 计数器变量作为Python中for循环的步长值

c - strcmp 在 c 中的 while 循环中不起作用

java - 如何在 Mac OS X 上测试 Java 应用程序?

python - 如何在列表内部的 python 中运行嵌套循环,以便外循环始终从列表的下一个元素开始,依此类推

java - 设置 JFrame 而不与任务栏重叠

PHP MySQL 如何获取在 while 循环中创建的变量

c - 带 while 循环的 fscanf 导致每行两次读取

java - 在 Java 中提交 HTML 表单

java - 如何动态转换一些东西?