好吧,所以我正在做这个项目,你必须做一些来自用户的输入
让我们说如果他进入
"12 3"
但他没有输入第二个输入
如果我把它叫做
String something = in.readLine();
如果我打电话
String nextLine = in.readLine();
我有错误。我如何检查是否没有第二次输入?
公共静态void main(String [] 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"
但没有进入第二个...我得到nullpointerx0016
可以使用计时器类来实现此目的。
看看这里
类似的东西..
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();
这取决于你所说的“他不输入第二个输入”是什么意思:
>
如果你的意思是用户输入EOF字符(例如,Linux上的CTRL-D),那么发生的情况是readLine()
方法将返回一个空值
,你的应用程序可以(并且应该)显式测试它。
如果您的意思是用户什么都不输入,那么什么都不会发生。您的应用程序将只是坐在那里等待用户输入下一行。为了解决这个问题,您需要某种超时机制......
有一个用@Cacheable注释的方法返回一个对象: 和UserData对象: 如何检测是否调用了带注释的@Cacheable方法,或者其输出是否来自缓存? 解决方法是注入CacheManager并手动检测: 然而,为了简单起见,这段代码没有使用@Cacheable注释。 是否可以使用@Cacheable并检测输出是否来自缓存?
我试图创建一个简单的程序,从用户输入中提取两个数字,并将它们相加在一起。为了正确使用它,我已经把它放下来了,但是如果用户输入其他东西,比如字符串,我会试图阻止崩溃。我如何检查输入而没有异常,因为我听说它们是糟糕的做法? 理想情况下,我希望它只是重复最初的问题,要求输入一个数字。我想这会在一个循环中? 编辑:新代码 旧代码
问题内容: 我正在学习“困难方式” Python35。下面是原始代码,我们被要求对其进行更改,以便它可以接受其中不包含0和1的数字。 这是我的解决方案,可以很好地运行并识别浮点值: 通过搜索类似的问题,我找到了一些答案,这些答案可以帮助我编写另一个解决方案,如下面的代码所示。问题是,使用isdigit()不允许用户输入浮点值。因此,如果用户说要取50.5%,它将告诉他们学习如何键入数字。否则它适用
我试图检查用户是否输入了字符串。如果用户输入了字符串,我的程序应该输出错误消息。如果用户输入了整数,我的程序应该继续运行 这是我到目前为止的代码,我需要添加另一个条件来检查用户是否输入字符串,我尝试了一些方法,但它们不起作用
问题内容: 我有一个JComboBox的子类。我尝试使用以下代码添加一个键侦听器。 但是,这不能正确检测用户何时按下一个键。实际上根本没有调用它。我添加的这个监听器是否错误?还有其他添加方式吗? 问题答案: 关键事件不是在框本身上触发的,而是在其编辑器上触发的。您需要将keyListener添加到JComboBox的编辑器中,而不是直接添加到框中: 编辑:固定方法调用。
问题内容: 扫描仪可用于读取文本文件,用户输入流等。正如上面明确指出的,我专门使用它来读取用户输入。 使用上面我做的Scanner,因为它“骑乘”了System.in,所以在没有下一个输入时对其hasNext()的调用将导致相关线程被阻塞,直到下一个有数据为止,然后再返回true。我想检查一下,getter风格,下一个有数据,而不是像hasNext()返回那样,下一个有数据。 其他问题通过启动一个