尝试/捕获无限循环?

奥蒂斯

帮助,我对Java完全陌生,我正在尝试创建一个循环,该循环将要求用户输入数字。如果用户输入的数字不是数字,则我想捕获异常,然后重试以获取正确的输入。我使用while循环进行此操作,但是在错误发生后用户没有机会输入任何内容,这将使其他所有内容循环。请帮助我了解问题所在以及正确的方法...谢谢。这就是我所拥有的:

    import java.util.Scanner;
    import java.util.InputMismatchException;

    public class simpleExpressions {
    public static void main (String[] args) {
      Scanner keyboard = new Scanner(System.in);

      while ( true ) {
        double numOne;
        System.out.println("Enter an Expression ");
        try {
          numOne = keyboard.nextInt();
          break;
        } catch (Exception E) {
          System.out.println("Please input a number only!");
        } //end catch
      } //end while
    } //end main
马龙

子句中使用keyboard.next();来使用剩余的无效令牌keyboard.nextLine()catchnextInt

InputMismatchException被抛出扫描仪没有移动到下一个标记。相反,它为我们提供了机会处理该令牌使用不同的,更合适的方法,如:nextLong()nextDouble()nextBoolean()
但是,如果您想转移到其他令牌,则需要让扫描程序毫无问题地读取它。为此,请使用可以接受任何数据(例如next()或)的方法nextLine()没有它,无效令牌将不被使用,并且在另一个迭代nextInt()中将再次尝试处理再次抛出InputMismatchException的相同数据,从而导致无限循环。

有关代码中其他问题的详细信息,请参见@MarkoTopolnik答案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

尝试捕获创建无限循环

来自分类Dev

如何从无限循环中停止尝试和捕获

来自分类Dev

尝试无限循环方法

来自分类Dev

尝试捕获for循环

来自分类Dev

尝试捕获重复循环

来自分类Dev

在While循环中尝试捕获

来自分类Dev

表单提交被ajax捕获并导致无限循环

来自分类Dev

尝试打破while循环时陷入无限循环

来自分类Dev

尝试捕获,循环和失败的信息显示

来自分类Dev

在Java中的while循环内尝试捕获

来自分类Dev

在 while 循环中尝试捕获 (python)

来自分类Dev

尝试复制输出文件时的无限循环路径

来自分类Dev

尝试计算字母频率时出现无限循环

来自分类Dev

尝试打印所有ASCII值时出现无限循环

来自分类Dev

尝试选择功能时代码进入无限循环

来自分类Dev

在尝试无限循环时,我做错了什么?

来自分类Dev

尝试列出文件时出现无限循环

来自分类Dev

尝试加载片段布局时,从onCreateView停止无限循环

来自分类Dev

尝试重定向标准输出时出现无限循环

来自分类Dev

尝试插入字符时脚本陷入无限循环

来自分类Dev

无限循环

来自分类Dev

无限循环而

来自分类Dev

为什么我的尝试和捕获陷入循环?

来自分类Dev

Java尝试捕获非整数用户输入并使其循环

来自分类Dev

尝试捕获直到成功-通用方法或委托的执行循环

来自分类Dev

使用用户输入在Java中进行尝试/捕获循环

来自分类Dev

尝试在while循环中捕获键盘输入

来自分类Dev

在Java中使用For循环时尝试/捕获问题

来自分类Dev

无限循环的jQuery循环