java - 获取 InputMismatchException
问题描述
我在这里有这段代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter a positive integer: ");
int i = input.nextInt();
recursiveMethod(i);
System.out.println();
System.out.print("Enter a string: ");
String s = input.next();
System.out.print("Enter a positive integer: ");
int j = input.nextInt();
recursiveMethod(s, j);
}
public static void recursiveMethod(int i) {
if (i != 0) {
System.out.print("*");
i--;
recursiveMethod(i);
}
}
public static void recursiveMethod(String s, int j) {
if (j != 0) {
System.out.println(s);
j--;
recursiveMethod(s, j);
}
}
当我运行它时,我收到以下错误:
Enter a positive integer: 8
********
Enter a string: Run faster.
Enter a positive integer:
Exception in thread "main"
java.util.InputMismatchException
at java.base/java.util.Scanner.throwFor(Scanner.java:939)
at java.base/java.util.Scanner.next(Scanner.java:1594)
at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
at java.base/java.util.Scanner.nextInt(Scanner.java:2212)
at com.company.Main.main(Main.java:16)
Process finished with exit code 1
我不确定出了什么问题,尽管当我将字符串作为带有空格的短语输入时似乎会使程序崩溃。
解决方案
推荐阅读
- rust - 是否有一种惯用的方法来定义属性是 A 型还是 B 型?
- python - 无法在python中安装kmodes
- javascript - bcryptjs 在 insertMany 上不起作用(在创建时工作正常)
- android - 缺少 Android Studio AVD 模拟器 Chrome 和 Play 商店
- javascript - 如何检查对象是否已经创建?
- .net-core - VS 2022 升级后 dotnet build 停止工作
- xml - 如何计算和评估 XML 中的节点以在 HTML 表中创建行跨度值?
- bash - 为什么 wc -l 计数不正确?
- c - 基于 C 控制台的 Tic Tac Toc 游戏中的间距问题
- linux - 使用 awk 更改文件第 n 行中的第 n 个字符