首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Java笔记-异常之InputMismatchException的解决

InputMismatchException异常是输入不匹配异常,即输入的值数据类型与设置的值数据类型不能匹配 相信不少和我一样的初学者在使用Scanner获取数据时都遇到过这样一种情况 在创建了一个Scanner对象后,先是用该对象的nextInt()方法获取了一个int类型的数据,紧接着我们需要用着同一个对象利用其nextLine()方法获取一个String类型的数据 在实际运行时你就会发现,程序在获取完int类型的数据后就结束了 亦或者是在上面代码层面获取完String类型数据的基础上再去获取一个int类型的数据就会出现InputMismatchException异常 那时的我才疏学浅,一度认为是创建的Scanner对象只能获取同一种数据类型,因此就用了一中最笨的方法来解决,那就是再创建一个对象来进行数据获取 在多日的深入学习后,发现自己是多么的好笑哈哈哈,所以特此在这记录一下,其原因,其原理,其解决方案

01

Java中的Scanner用法解析

一、Scanner类简介 Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。 简介 Scanner类是java.util包中的一个类 作用 常用于控制台的输入,当需要使用控制台输入时即可调用这个类 二、Scanner类的用法 使用方法 1、首先需要构造一个Scanner类的对象,并且与标准输入流System.in关联 Scanner sc=new Scanner(System.in); 2、调用Scanner类对象sc的方法从输入流中获取你需要的输入 说明: 当创建了一个Scanner类对象之后,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给对象sc,若要获取需要的内容,调用sc的方法即可 三、常用方法 1、nextInt()只读取数值,读取完后\n没有读取并且光标放在本行 Scanner sc=new Scanner(System.in); int i=sc.nextInt(); 每次可以只输入一个数字,回车确认,例如:“123”,只能被一个nextInt读取。 也可以输入一组数字,例如:“123 456 789”,每个数字之间用空格(一个或多个空格)隔开,可被多个nextInt()读取,空格及回车不会被读取。(注:输入数字中不能夹杂除数字、空格、回车之外的其他字符,否则会报错)

03
领券