黑马程序员技术交流社区

标题: 对于Scanner的输入问题。 [打印本页]

作者: 起猿    时间: 2013-10-26 15:40
标题: 对于Scanner的输入问题。
用nextInt();方法,只能输入int类型的数,各位大神,怎么才能输入所有类型的数字呢

QQ图片20131026153820.jpg (12.13 KB, 下载次数: 80)

QQ图片20131026153820.jpg

作者: 0从谷0    时间: 2013-10-26 16:36
在Scanner类中有获取基本类型相应的函数(nextInt(),nextDouble()等),也可以通过返回字符串来获取,要结合java基本类型中的方法valueOf()和toString()等。
作者: 麦子    时间: 2013-10-26 17:00
Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。它是以前的StringTokenizer和Matcher类之间的某种结合。由于任何数据都必须通过同一模式的捕获组检索或通过使用一个索引来检索文本的各个部分。于是可以结合使用正则表达式和从输入流中检索特定类型数据项的方法。这样,除了能使用正则表达式之外,Scanner类还可以任意地对字符串和基本类型(如int和double)的数据进行分析。借助于Scanner,可以针对任何要处理的文本内容编写自定义的语法分析器。
Scanner是SDK1.5新增的一个类,可是使用该类创建一个对象.
  
Scanner reader=new Scanner(System.in);
  
然后reader对象调用下列方法(函数),读取用户在命令行输入的各种数据类型:
  
next.Byte(),nextDouble(),nextFloat,nextInt(),nextLine(),nextLong(),nextShot()
  
上述方法执行时都会造成堵塞,等待用户在命令行输入数据回车确认.例如,拥护在键盘输入12.34,hasNextFloat()的值是true,而hasNextInt()的值是false.
NextLine()等待用户输入一个文本行并且回车,该方法得到一个String类型的数据。

接受什么类型就用对应的函数就可以了

好好学习,不懂的可以问我
作者: Jim-剣◆﹏    时间: 2013-10-26 20:50


我翻查的API文档,Scanner类的获取基本数据类型的方法,你想要的是这个吗

作者: 起猿    时间: 2013-10-26 21:03
想明白了,专牛角尖了,其实用nextDouble就行




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2