循环用户输入
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
语句中的 !
。如果我理解正确,您希望循环 运行 直到键盘被迭代。 !
在那里,循环条件永远不会为真。
几点建议:
- 假设 "Keyboard" 是扫描器 (System.in),Keyboard.hasNext() 将 never return false - 也就是说,你的 while 循环将永远不会结束。这是因为 Scanner 只会等待更多输入;扫描控制台不像扫描行数有限的文件。
- 不能用==比较字符串,必须使用equals方法。如果你不明白为什么,请查找这个,但你必须使用
if (go.equals("yes")) { ... }
我是 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
语句中的 !
。如果我理解正确,您希望循环 运行 直到键盘被迭代。 !
在那里,循环条件永远不会为真。
几点建议:
- 假设 "Keyboard" 是扫描器 (System.in),Keyboard.hasNext() 将 never return false - 也就是说,你的 while 循环将永远不会结束。这是因为 Scanner 只会等待更多输入;扫描控制台不像扫描行数有限的文件。
- 不能用==比较字符串,必须使用equals方法。如果你不明白为什么,请查找这个,但你必须使用
if (go.equals("yes")) { ... }