Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0
1、报错示例
int userAge;
char userSex;
Scanner scan=new Scanner(System.in);
System.out.print("请输入年龄:");
userAge=scan.nextInt();
System.out.print("请输入性别:");
userSex=scan.nextLine().charAt(0);
System.out.println("年龄:"+userAge);
System.out.println("性别:"+userSex);
2、报错提示
Exception in thread “main” java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.lang.String.charAt(Unknown Source)
at dataType.main(dataType.java:85)
3、报错截图
4、解决办法
当输入年龄“26”按下回车键后,scan.nextInt()只是帮助我们读取了整数26,而回车符号便会被scan.nextLine().charAt(0)读取到,这个时候我们获取scan.nextLine().charAt(0)下标为0的字符内容时便会寻找不到,超界。
int userAge;
char userSex;
Scanner scan=new Scanner(System.in);
System.out.print("请输入年龄:");
userAge=scan.nextInt();
System.out.print("请输入性别:");
scan.nextLine(); // 吃掉userAge=scan.nextInt();所产生的回车符
userSex=scan.nextLine().charAt(0);
System.out.println("年龄:"+userAge);
System.out.println("性别:"+userSex);