Java 错误 java.util.InputMismatchException
本文将讨论Java编程语言主线程中的 java.util.InputMismatchException
。
Java 中的 java.util.InputMismatchException
每当 JVM 收到一种数据作为输入但需要另一种类型的值(这表明数据不匹配)时,它就会抛出 java.util.InputMismatchException
。 这表示该值与正则表达式模式不匹配或超出可接受的范围。
例如,程序正在寻找一个整数值作为输入来检查它是偶数还是奇数,如下所示。
代码示例:
import java.util.Scanner;
public class example {
public static void main(String[] args) {
int n = 0;
Scanner s = new Scanner(System.in);
System.out.println("Enter a number to check Even/Odd");
for (int i=0; i<10; i++) {
System.out.println("Enter a number to check Even/Odd");
n = s.nextInt();
if (n % 2 == 0) {
System.out.println(n + " = EVEN ");
}
else {
System.out.println(n + " = ODD ");
}
}
}
}
输出:
Enter a number to check Even/Odd
5
5 = ODD
Enter a number to check Even/Odd
6
6 = EVEN Enter a number to check Even/Odd
z
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextInt(Scanner.java:2117)
at java.util.Scanner.nextInt(Scanner.java:2076)
at example.main(example.java:8)
java.util.InputMismatchException错误的原因
示例中导致 java.util.InputMismatchException
的原因是当使用 Scanner 类接收用户输入时。 如果提供给该方法的参数无效,则会发出 InputMissMatchException
。
如果提供给 nextInt()
函数的值是 String 异常,则会抛出异常。 nextInt()
函数只能处理整数值,不能处理字符串值。
修复 java.util.InputMismatchException 错误
这个错误是由于数据不准确造成的,要修复它,我们需要纠正数据。 在示例中,我们使用了 nextInt()
函数。
但是,它不支持字符串参数。 要解决 java.util.InputMismatchException
,我们必须检查输入验证是否正常运行以及我们是否提供了适当的数据类型值。
我们将使用 try catch 方法来验证用户输入。 如果用户输入整数以外的无效值,程序将返回以下错误。
错误输出:
Input value is Invalid please provide an integer value:
完整源代码:
import java.util.Scanner;
public class example {
public static void main(String[] args) {
int n = 0;
try{
Scanner s = new Scanner(System.in);
for (int i=0; i<10; i++) {
System.out.println("Enter a number to check Even/Odd");
n = s.nextInt();
if (n % 2 == 0) {
System.out.println(n + " = EVEN ");
}
else {
System.out.println(n + " = ODD ");
}
}
}
catch(Exception exp) {
System.out.println(" Input value is Invalid please provide an integer value: ");
}
}
}
输出:
Enter a number to check Even/Odd
6
6 = EVEN
Enter a number to check Even/Odd
z
Input value is Invalid please provide an integer value:
相关文章
修复 Minecraft 错误 Error Occurred During Initialization of VM
发布时间:2023/07/10 浏览次数:139 分类:Java
-
今天,我们将了解为什么在 Minecraft 中初始化 VM 时出现错误,以及如何解决该错误。 因此,让我们首先了解错误和可能的原因。描述错误及其原因
修复 Java 异常 Java.IO.NotSerializableException
发布时间:2023/07/10 浏览次数:84 分类:Java
-
今天,我们将在用Java编写程序时重现 java.io.NotSerializedException。 我们还将了解该错误的含义、导致其原因和解决方案。在Java中重现java.io.NotSerializedException
Minecraft 上 An Existing Connection Was Forcibly Closed by the Remote Host 错误
发布时间:2023/07/10 浏览次数:103 分类:Java
-
本篇文章介绍了使用 Minecraft 时出现远程主机错误强制关闭现有连接的原因和解决方案。Minecraft 上 Java.IO.IOException: An Existing Connection Was Forcibly Closed by the Remote Host 原因
在 Java 中处理整数上溢和下溢
发布时间:2023/07/10 浏览次数:102 分类:Java
-
本文介绍整数数据类型的上溢和下溢以及该问题的处理。Java 中整数上溢和下溢概述 如果您使用整数值,则可能会遇到上溢或下溢错误。
理解 Java 中的 java.lang.reflect.InvocationTargetException 错误
发布时间:2023/07/10 浏览次数:197 分类:Java
-
在本文中,我们将了解 Java 中的 java.lang.reflect.InitationTargetException。Java 中的 java.lang.reflect.InitationTargetException 错误 当开发人员使用 Java Reflection API 时,java.lang.reflect.InitationTargetException 是一个非
Java 中 ExceptionInInitializer 错误
发布时间:2023/07/10 浏览次数:121 分类:Java
-
在这篇文章中,我们将了解Java中的 ExceptionInInitializerError。Java中 ExceptionInInitializerError 简介 ExceptionInInitializerError 是 Java 中的未经检查的异常,它是 Error 类的子类。 它属于运行时异常的类别。
Java 中 GC Overhead Limit Exceeded 错误
发布时间:2023/07/10 浏览次数:127 分类:Java
-
本文将讨论 Java 中的 GC 开销超出限制错误。Java中GC Overhead Limit Exceeded错误简介 在Java中,当程序不再使用对象时,JVM(Java虚拟机)会释放内存。
Java 中的纸牌洗牌
发布时间:2023/05/16 浏览次数:73 分类:Java
-
本文介绍如何在 Java 中洗一副牌。使用 Java 中的传统循环打乱 ArrayList。类似地,在 Java 中,各种方法允许用户随机播放元素。下面是演示此过程的代码块。
Java 中将列表转换为 ArrayList
发布时间:2023/05/16 浏览次数:156 分类:Java
-
在 Java 中将 List 转换为 ArrayList 的方法。在本篇文章中,我们讨论了如何在 Java 中将列表转换为 ArrayList。