如何检测是否存在';s不是来自用户的输入(java)

如何检测是否存在';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

好的,所以我在做这个项目,你必须做一些来自用户的输入

让我说如果他进来

“12 3”

但他没有输入第二个输入

如果我把它叫做

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-我不理解你的评论。