如何检测是否存在';s不是来自用户的输入(java)
好的,所以我在做这个项目,你必须做一些来自用户的输入 让我说如果他进来 “12 3” 但他没有输入第二个输入 如果我把它叫做如何检测是否存在';s不是来自用户的输入(java),java,input,compiler-errors,nullpointerexception,line,Java,Input,Compiler Errors,Nullpointerexception,Line,好的,所以我在做这个项目,你必须做一些来自用户的输入 让我说如果他进来 “12 3” 但他没有输入第二个输入 如果我把它叫做 String something = in.readLine(); 如果我打电话 String nextLine = in.readLine(); 我会犯错误。如何检查是否没有第二个输入 公共静态void main(字符串[]args)引发IOException{ BufferedReader in = new BufferedReader(new Input
String something = in.readLine();
如果我打电话
String nextLine = in.readLine();
我会犯错误。如何检查是否没有第二个输入
公共静态void main(字符串[]args)引发IOException{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); //ctr + shift + o
String eachLine = in.readLine(); //ex. "12 5"" or "AB 12"
String nextLine = in.readLine();
如果用户输入
“3 2”这取决于你所说的“他没有输入第二个输入”是什么意思:
- 如果您的意思是用户输入EOF字符(例如Linux上的CTRL-D),那么发生的情况是
方法将返回一个readLine()
,您的应用程序可以(也应该)显式测试该字符null
- 如果你的意思是用户什么也不输入,那么什么也不会发生。你的应用程序将只是坐在那里等待用户进入下一行。为了解决这个问题,你需要某种超时机制
TimerTask task = new TimerTask(){
public void run(){
if( input is empty ){
System.out.println( "you input nothing. exit..." );
System.exit( 0 );
}
}
};
安排计时器
Timer timer = new Timer();
timer.schedule( task, timeoutTime);
//读取输入
String nextLine = in.readLine();
//取消计时器
timer.cancel();
你能发布你的代码片段吗?使用类似拆分和控制计数的方法…如果中没有更多的输入。readLine()将返回null。我的目标是…我想知道用户inputok输入了多少行输入。我的意思是他输入第一个输入并保存和编译。当我尝试执行String nextLine=in.readLine()时;我有错误。@LeafC-我不理解你的评论。