gpt4 book ai didi

java - Java 中的输入不匹配异常

转载 作者:行者123 更新时间:2023-12-02 06:35:27 25 4
gpt4 key购买 nike

尽管一切都应该按预期工作,但我收到了 InputMismatchException 错误。仅当用户必须输入 int 值(setAge)时,我才会收到错误。为什么?

public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);

Withdraw myAccount = new Withdraw();

Customer Jack = new Customer();
out.println("Enter your full name");
String FullName = keyboard.next();
Jack.setName(FullName);

out.println("Enter your address");
String Address = keyboard.next();
Jack.setAddress(Address);

// I GET THE ERROR IN THE LINES BELOW.
out.println("Enter your age");
int age = keyboard.nextInt();
Jack.setAge(age);

这是 Customer 类的代码

public class Customer {

String name;
String address;
int age;

public void setName(String NameIn) {
name = NameIn;
}

public String getName() {
return name;
}

public void setAddress(String addressIn) {
address = addressIn;
}

public String getAddress() {
return address;
}

public void setAge(int ageIn) {
age = ageIn;
}

public int getAge() {
return age;
}

先谢谢大家了!

最佳答案

默认情况下,next使用空格作为单词分隔符,因此任何包含这些字符的地址都将导致输入传递到下一个 Scanner 输入语句,即本例中的 nextInt

因此使用 nextLine 读取整行输入:

String address = keyboard.nextLine();

如果该变量中存在任何空格,fullName 也需要同样的操作。

旁白:Java 命名约定表明变量以小写字母开头,例如地址全名

关于java - Java 中的输入不匹配异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19706633/

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