我试图编写一个java程序来处理连续输入,一个字符一个字符。基本上,这意味着有一个字符串变量“输入”来记录当前输入的字符串。因此,如果当前输入类型为"W",则输入应为"W“,而用户将输入类型保持在"h”中,则输入应为"Wh“,依此类推。
我希望它是一个字符,我认为它应该是一些时间循环使用扫描仪?
好的。我可以一丝不苟地做。但是扫描仪什么时候停?我试过:
while(in.hasNext()){ String = in.next();if(temp.equals("")){ break;}
但扫描仪并没有停下来。循环没有停止。java从“输入返回”键输入的值是多少?是否需要导入键盘侦听器?
发布于 2014-04-01 21:42:34
不,扫描程序不能工作,因为它只在ENTER被按下后才接受字符串。您要么需要一个非标准的控制台,要么创建一个Swing GUI,使用添加了一个JTextField的DocumentListener。
编辑
对于@tieTYT,他给出了一个指向this answer的链接,该链接建议使用控制台来解决这个问题。将他的代码放入一个小程序中:
import java.io.Console;
import java.io.IOException;
public class Test {
public static void main(String[] args) throws IOException {
Console cons = System.console();
if (cons == null) {
System.out.println("Console is null");
System.exit(-1);
} else {
System.out.println("Enter text, or \"z\" to exit:");
while (true) {
char c = (char) cons.reader().read();
System.out.println("" + c);
if (c == 'z') {
System.exit(0);
}
}
}
}
}https://stackoverflow.com/questions/22797389
复制相似问题