java inputmismatch_什么是Java中的InputMisMatchException?我们如何处理它?

从Java 1.5开始引入Scanner类。此类接受File,InputStream,Path和String对象,使用正则表达式逐个令牌读取所有原始数据类型和String(从给定的源)令牌。

读取用来自源的各种数据类型nextXXX()由该类即提供的方法,nextInt(),nextShort(),nextFloat(),nextLong(),nextBigDecimal(),nextBigInteger(),nextLong(),nextShort(),nextDouble(),nextByte(),nextFloat(),next()。

每当您使用Scanner类从用户那里获取输入时。如果传递的输入与方法不匹配,则引发InputMisMatchException。例如,如果使用该nextInt()方法和在String中传递的值读取整数数据,则会发生异常。

示例import java.util.Scanner;

public class StudentData{

int age;

String name;

public StudentData(String name, int age){

this.age = age;

this.name = name;

}

public void display() {

System.out.println("Name of the student is: "+name);

System.out.println("Age of the student is: "+age);

}

public static void main (String args[]){

Scanner sc = new Scanner(System.in);

System.out.println("Enter your name: ");

String name = sc.next();

System.out.println("Enter your age: ");

int age = sc.nextInt();

StudentData obj = new StudentData(name, age);

obj.display();

}

}

运行时异常Enter your name:

Krishna

Enter your age:

twenty

Exception in thread "main" java.util.InputMismatchException

at java.util.Scanner.throwFor(Unknown Source)

at java.util.Scanner.next(Unknown Source)

at java.util.Scanner.nextInt(Unknown Source)

at java.util.Scanner.nextInt(Unknown Source)

at july_set3.StudentData.main(StudentData.java:20)

处理输入不匹配异常

处理此异常的唯一方法是确保在传递输入时输入正确的值。建议在使用扫描仪类从用户读取数据时指定具有完整详细信息的必需值。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值