首页 百科知识 从键盘输入数据

从键盘输入数据

时间:2022-08-25 百科知识 版权反馈
【摘要】:JDK5.0添加了java.util.Scanner类,可以使用该类创建一个对象,从键盘获取基本类型的数据和字符串。如果在程序中读入数据前添加reader.useDelimiter(″,″);语句,那么,从键盘输入数据时,将以逗号作为分隔符。

3.6.1 从键盘输入数据

JDK5.0添加了java.util.Scanner类,可以使用该类创建一个对象,从键盘获取基本类型(如int、float、double和boolean)的数据和字符串。其编程步骤如下。

首先,引入包import java.util.Scanner。

其次,创建一个Scanner类的对象,注意new表达式以System.in作参数。

img143

然后,调用对象reader的方法,读取用户在键盘输入的基本类型数据和字符串。获取数据的主要方法有:

img144

【例3-29】 借助Scanner类的对象从键盘获取所需数据。

程序运行结果:

请输入姓名:张三

请输入年龄:19

请输入是否结婚(true/false):false

请输入成绩:96.5

姓名:张三,年龄:19,是否结婚:false,成绩:96.5

分析与思考:(1)Scanner是一种简单文本扫描器,可以依据分隔符从文本中抽取符号(token),并能将各种符号转换成相应的字符串或基本类型数据。注意Scanner对象不能对字符进行操作。可通过System.in.read()方法从键盘读入字符。

(2)默认情况下,Scanner扫描器把空白符号(空格、制表符、回车换行符等)作为文本中各符号之间的分隔符。也可通过下列方法将此扫描器的分隔模式设置为指定模式:

public Scanner useDelimiter(String pattern):设置为指定String构造的模式。

public Scanner useDelimiter(Pattern pattern):设置为指定模式。

如果在程序中读入数据前添加reader.useDelimiter(″,″);语句,那么,从键盘输入数据时,将以逗号作为分隔符。

有一组方法和读取方法相对应,它们是:

img146

【例3-30】 求从键盘输入数据的平均值,以ok作为输入结束标志。

img147

程序运行结果:

img148

分析与思考:(1)不断执行的reader.nextDouble()方法是从结果集中连续取double数值,如果在一串double数值中插入有其他类型的数据,如何正确读取double数值?本例给了一个解决方法。其结构是:

img149

(2)如果输入一组同类型的数据如double数据,并以非同类型数据结束,那么,在本例中只需用while(reader.hasNextDouble())替换while(reader.hasNext()),而且不需要结束判断与处理的内容。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈