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

Java Try-and-Catch语句

牟正真
2023-03-14

我刚刚开始用java编写一个21点游戏。我试图让程序要求用户再次输入,如果他们输入的现金不是一个有效的整数。我看到许多带有catch的try语句示例,但没有一个是有效的。程序给出的错误InputMismatchException无法解析为类型。我遵循的一个线程就是这个,我有完全相同的代码,只是变量名不同。给你。Java输入不匹配异常

这是我的密码:

        Scanner input_var=new Scanner(System.in);
        System.out.println("Welcome to BlackJack!");
        System.out.println("Enter how much money you will start with");
        System.out.println("Starting cash must be whole number");
        int money=0;
        do{

        try{
            System.out.println("Enter how much money you will start with: ");
            money=input_var.nextInt();
            }

        catch (InputMismatchException e){
            System.out.println("Sry, not a valid integer");
            input_var.nextInt();
        }
        input_var.nextLine();
        }while (money<=0);

任何关于为什么我几乎精确的代码不起作用的帮助都将不胜感激。谢谢你的时间和努力。

共有3个答案

和魁
2023-03-14

删除输入变量nextInt() 来自try语句和input_var.nextLine() 。必须有这样的导入importjava。util* 导入java。。util。输入不匹配异常

您使用的是哪个IDE?

钮安歌
2023-03-14

可以在while循环中使用hasNextInt()。当下一个输入不是整数时,显示“not a valid integer”(非有效整数)消息并获取下一个输入。当它是整数时,while循环将中断,您可以执行需要执行的操作。

墨高杰
2023-03-14

使用输入进行消费。next(),作为输入。nextInt()不存在。这就是例外的全部要点。

do{
    try{
        System.out.println("Enter how much money you will start with: ");
        money=input_var.nextInt();
    }catch (InputMismatchException e){
        System.out.println("Sry, not a valid integer");
        input_var.next();
    }
}while (money<=0);
 类似资料:
  • So far we're been developing code in Pleasantville, a wonderful place where nothing ever, ever goes wrong. Every library call succeeds, users never enter incorrect data, and resources are plentiful an

  • 在实际开发中,根据 try catch 语句的执行过程,try 语句块和 catch 语句块有可能不被完全执行,而有些处理代码则要求必须执行。例如,程序在 try 块里打开了一些物理资源(如数据库连接、网络连接和磁盘文件等),这些物理资源都必须显式回收。 Java的垃圾回收机制不会回收任何物理资源,垃圾回收机制只回收堆内存中对象所占用的内存。 所以为了确保一定能回收 try 块中打开的物理资源,异

  • 主要内容:多重catch语句在实际应用中,对于错误的处理是极其重要的,任何程序都很难做到百分百完美,程序中可能存在大量未知问题,所以程序开发时一定要对各种问题进行相应的处理,而 Java 提供的异常处理机制可以帮用户更好地解决这方面的问题。Java 的异常处理机制可以让程序具有极好的容错性,让程序更加健壮。 Java 的异常处理通过 5 个关键字来实现: try、 catch、 throw、 throws 和 finally

  • 问题内容: 我尝试理解Swift 2中新的错误处理方法。这是我做的:我首先声明了一个错误枚举: 然后我声明了一个引发错误的方法(伙计们不是异常。这是一个错误。)。这是该方法: 问题出在呼叫方。这是调用此方法的代码: 之后,行编译器说。但是我认为这是详尽无遗的,因为枚举中只有两种情况。 对于常规的switch语句,swift可以理解,在处理每种情况时,它都是详尽的。 问题答案: Swift 2错误处

  • 问题内容: 在内部使用try / catch或在内部使用try / catch的正确方法是什么? 与 问题答案: 在我看来,我的观点是: 以上是正确的方法。 因为,使用这种方法,如果与数据库的连接存在异常,则将其捕获在catch块内。但是使用第一种方法,则不会。

  • 在我必须进行的猜测游戏中,我需要包含一个带有两个catch子句的try-catch块(一个多catch块用于我的两个自定义异常:和,一个块用于)。 我试图在程序中创建条件来抛出自定义异常,因为我不知道它们如何正常工作的逻辑。我有编译错误,希望能帮助重新运行我的程序,以便它正确地实现try-catch块。 我的自定义异常类: 我的程序有编译错误: