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:
相关文章
Java 错误 Java.Net.SocketException: Network Is Unreachable
发布时间:2023/07/16 浏览次数:963 分类:Java
-
今天我们就来讨论一下Java编程时出现java.net.SocketException: Network is unreachable异常的可能原因及解决方法。Java中出现java.net.SocketException: Network is unreachable的可能原因及解决方案
Java 错误 Java.Net.ConnectException: Connection Timed Out
发布时间:2023/07/16 浏览次数:235 分类:Java
-
本篇文章将重点介绍如何使用此包进行基本的网络调用以及可能面临和解决的错误。在 Java 中使用 java.net 进行网络调用 进行网络调用是 Java 开发人员每天面临的最重要的事情之一。
Java 中错误 Attempt to Invoke Virtual Method on a Null Object Reference
发布时间:2023/07/16 浏览次数:948 分类:Java
-
本篇文章介绍如何解决 Java 中的 Attempt to invoke virtual method on a null object reference 错误。Java 中 Attempt to invoke virtual method on a null object reference 错误
Java 错误 Java.Security.InvalidKeyException: Illegal Key Size
发布时间:2023/07/15 浏览次数:644 分类:Java
-
本篇文章介绍包含 java.security.InvalidKeyException: Illegal key size 的 Java 代码。 然后,我们将了解其可能的原因。最后,它通过消除指定的错误来引导我们找到解决方案。
Java 错误 Java.SQL.SQLException: Access Denied for User Root@Localhost
发布时间:2023/07/15 浏览次数:165 分类:Java
-
本篇文章介绍如何解决 Java 中的 java.sql.SQLException: Access Denied for user 'root'@'localhost' 错误。修复 Java 中的 java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
Java 错误 Gateway Process Exited Before Sending Its Port Number
发布时间:2023/07/15 浏览次数:885 分类:Java
-
本篇文章介绍了 Java 中 Java gateway process exited before sending the driver its port number 错误 Java gateway process exited before sending the driver its port number 错误
修复 Java 中 Java.Net.BindException: Address Already in Use: Bind 错误
发布时间:2023/07/15 浏览次数:250 分类:Java
-
本篇文章介绍了 Java 中的 java.net.BindException:Address already in use: Bind 错误。修复Java 中的 java.net.BindException:Address already in use: Bind
Java 中错误 Unsupported Major Minor Version
发布时间:2023/07/14 浏览次数:133 分类:Java
-
出现 Unsupported Major.minor version 错误或 Java.lang.UnsupportedClassVersionError 的原因是运行时 JDK 较低,编译时 JDK 较高。 本篇文章介绍如何解决Java中不支持的major.minor版本。
Java 错误 Error:Java: Javactask: Source Release 1.8 Requires Target Release 1.8
发布时间:2023/07/14 浏览次数:274 分类:Java
-
在使用IntelliJ for Java时,无法编译Java程序是一个常见的问题。 本教程提供了此错误的解决方案。Error:Java: Javactask: Source Release 1.8 Requires Target Release 1.8 错误