gpt4 book ai didi

java - 我是java初学者,谁能解释一下为什么我在这里得到 "InputmismatchExcetion"?

转载 作者:行者123 更新时间:2023-11-30 06:16:50 25 4
gpt4 key购买 nike

在这里,我尝试输入并打印员工的一些详细信息,一切看起来都很好,但我收到异常,为什么?

 import java.util.Scanner;  

class EmpDet

{ //here details
int age;
String name;
int ssn;
public EmpDet(int age,String name,int ssn)
{
//assign to constructor

this.age = age;
this. name = name;
this.ssn = ssn;
System.out.println(age+" "+name+" "+ssn); //printing details

}

public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
int age = sc.nextInt();

String name = sc.nextLine(); //InputMismatchException in this line
int ssn = sc.nextInt();
EmpDet det = new EmpDet(age,name,ssn);
}
}

最佳答案

您可能想逐行抓取。获得该行后,您可以尝试将输入解析为整数。

    Scanner sc = new Scanner(System.in);  
int age = Integer.parseInt(sc.nextLine());

String name = sc.nextLine();
int ssn = Integer.parseInt(sc.nextLine());
EmpDet det = new EmpDet(age,name,ssn);

在解析过程中放置​​一个 try catch 也是明智的做法,以防用户的输入不符合整数的条件。

注意,nextInt() 只抓取数字而不抓取新行(回车)

关于java - 我是java初学者,谁能解释一下为什么我在这里得到 "InputmismatchExcetion"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49014235/

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