循环用户输入

Looping with User Input

我是 Java 编程的新手,我正在从事这个自我项目。我想知道我如何循环用户的输入然后写入文件,但是在输入文本测试以查看输入是否正确时。所以这就是我感到困惑的地方。

 System.out.println(" enter what you want to teach me"); // data
        while (!Keyboard.hasNext()) {

            String lines = Keyboard.nextLine();
            System.out.print(" is this correct ? ");
            System.out.println("\n");
            String go = input.nextLine();

            if ( go == "yes"){
                wr.write(lines);
            wr.write("\n");  }

            wr.newLine();
            wr.close();
        }

循环永远不会到达,我不知道为什么会这样。

调试它,你会找到你的答案。如果现在有人给你一个正确的代码,你将永远陷入这个循环。

尝试删除 while 语句中的 !。如果我理解正确,您希望循环 运行 直到键盘被迭代。 ! 在那里,循环条件永远不会为真。

几点建议:

  1. 假设 "Keyboard" 是扫描器 (System.in),Keyboard.hasNext() 将 never return false - 也就是说,你的 while 循环将永远不会结束。这是因为 Scanner 只会等待更多输入;扫描控制台不像扫描行数有限的文件。
  2. 不能用==比较字符串,必须使用equals方法。如果你不明白为什么,请查找这个,但你必须使用 if (go.equals("yes")) { ... }