gpt4 book ai didi

java - 了解 Java Scanner 的怪异之处

转载 作者:行者123 更新时间:2023-12-01 17:56:51 26 4
gpt4 key购买 nike

我正在为学校编写代码,在读取用户输入时遇到问题。我创建了一个新类来进行测试,看看它是否是我的代码,但不是。这是简化的代码。

    import java.util.*;
public class practice {
public static void main(String[] args){
Scanner kb = new Scanner(System.in) ;
String fullname = kb.nextLine();
int age = kb.nextInt();
String program = kb.nextLine();
* int number = kb.nextInt();
System.out.println(fullname);
System.out.println(age);
System.out.println(program);
System.out.println(number);
}
}

出现以下错误

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 practice.main(practice.java:8)

我已经标记了发生错误的位置。为什么会发生这种情况以及如何解决这个问题?

到目前为止我已经尝试过:- 添加kb.nextLine()第一个之后kb.nextLine()- 尝试在每次输入后重置扫描仪

最佳答案

  Scanner kb = new Scanner(System.in) ;
String fullname = kb.nextLine();
int age = kb.nextInt();
kb.nextLine();
String program = kb.nextLine();
int number = kb.nextInt();

kb.nextLine();
System.out.println(fullname);
System.out.println(age);
System.out.println(program);
System.out.println(number);

引用号:InputMismatchException when using Sacnner nextLine for String

关于java - 了解 Java Scanner 的怪异之处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60697286/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com