当前位置: 首页 > 知识库问答 >
问题:

在一段时间内执行 try/catch

冀胤运
2023-03-14

我试图在while循环中执行try-catch块。当我要求用户输入一个数字(应该是双精度的)时,我使用try-catch来捕获任何输入不匹配异常。我将其嵌套在while循环中,这样如果捕获到任何异常,用户可以根据需要重新输入输入。问题在于,如果捕获到异常,扫描仪将不允许用户出于某种原因重新输入输入。在第二次迭代中,当您返回到hours=kb.nextDouble的行时,会发现错误。这是代码。

boolean condition = true;
while(condition==true) {
    try {
    // prompt user to enter hours of service used
    System.out.println("Please enter the number of hours of service you  have used: ");
    hours = kb.nextDouble();
    // validate hours
    while(hours <=0){
    System.out.println("You must enter a positive number.");
    hours = kb.nextDouble();    
    } condition = false;
    } catch (InputMismatchException ime){
        System.out.println("You must enter a decimal value for hours.");
        }
    }

共有1个答案

刁文光
2023-03-14

根据doc for Class扫描器:

当扫描器抛出InputMissMatchException时,扫描器不会传递导致异常的令牌,因此可以通过其他方法检索或跳过该令牌

将kb.next()放在catch块中将有助于跳过有问题的输入。

 类似资料:
  • 本文向大家介绍PHP间隔一段时间执行代码的方法,包括了PHP间隔一段时间执行代码的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP间隔一段时间执行代码的方法。分享给大家供大家参考。具体分析如下: PHP如何设置每隔一段时间自动执行某段代码?例如定时生成静态文件之类的,这就需要设置休眠时间,即每隔一段时间程序就会调用某段代码. 代码如下: 希望本文所述对大家的PHP程序设计有所帮助

  • 我的用例——我是一名医生。在某一天,我可以工作几个小时,但有些时间不可用。我想创建一个对象“周期我的工作日”。当有人预约上午8点到9点(即“周期病人1预约”)时,该时段将从我的工作日“删除”。当新患者访问myWorkDay时,他只看到myWorkDay-病人1约会。如果病人1释放了他的时隙,那么新患者会看到完整的myWorkDay。 有可能使用JodaTime做到这一点吗? 有一个额外的要求是不必

  • 我是Drools的新手。我需要用Spring启动构建一个应用程序 我正在使用一个“geofence\u rule.drl”文件来保存与地理位置相关的规则。 模型等级如下所示。 我可能会得到“n”个标签的位置相关数据,比如tag1、tag2、tag3等等。我需要计算tag1在过去5分钟内是否不在房间1中(这意味着tag-1的数据没有达到“房间1中tag位置的规则”)。Drools中是否支持这种计算?

  • 我正在尝试创建一个运行游戏循环线程的surfaceView,我花了很多时间来解决这个问题,运行了一段时间后,游戏循环似乎很好,它继续运行,并在第一次运行后继续抛出错误,它运行了一段时间,并像它假设的那样绘制,但随后返回null,我已将System.out。println();在多个位置查看某些方法是否正在运行,以及它们运行了多少次(是的,我知道使用日志,但我不太喜欢它们),无论如何,我注意到的是,

  • 问题内容: 我需要在预定义的时间长度内运行一些代码,当时间到时它需要停止。当前,我正在使用TimerTask来允许代码执行一段设定的时间,但这导致代码创建无尽的线程,并且效率很低。有更好的选择吗? 当前代码; 问题答案: 如果您使用的是Java5或更高版本,请考虑和。使用前者,您可以安排任务在指定的延迟后或以指定的时间间隔运行,因此,它可以更可靠地接管的角色。 该设施管理延迟(“每100毫秒运行一

  • 以下代码的并行执行比顺序代码所需的时间长。我知道并行流比顺序流有更多的复杂性和更高的成本,我们不能期望并行流一直都能创造奇迹。我只是关心下面的代码 输出: > 具有顺序流:40 227 795 并行流:74 656 768 这个流有状态吗?如果不是,那么为什么平行流要花更长的时间呢?这背后的原因可能是什么?对此能有一个精确的猜测吗?