循环用户输入

时间:2015-04-09 01:37:34

标签: java loops java.util.scanner

我是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();
        }

永远不会触及循环,我为什么会这样做而迷失。

3 个答案:

答案 0 :(得分:2)

尝试删除!声明中的while。如果我正确理解这一点,你想要循环运行,直到键盘被迭代完毕。当!存在时,循环条件永远不会成立。

答案 1 :(得分:1)

几个指针:

  1. 假设“Keyboard”是一个Scanner(System.in),Keyboard.hasNext()将永远不会返回false - 也就是说,你的while循环永远不会结束。这是因为扫描仪只会等待更多输入;扫描控制台与扫描存在有限行数的文件不同。
  2. 您无法将字符串与==进行比较,您必须使用equals方法。如果您不明白原因,请仔细查看,但必须使用if (go.equals("yes")) { ... }

答案 2 :(得分:0)

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