A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

最近自学中,积攒下了一些问题,自己实在搞不定了,只好来论坛求助了,
在毕老师视频中,我们可以通过BufferedReader 创建对象,传入System。in这个对象。
的方式来读取键盘录入,,但是最近网上看高手写的代码,,他们总是用Scanner这个类来创建对象。
貌似看上去,比用BuferedReader方式要简单,,能有高手来介绍一下Scanner吗?
不胜感激!!!

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

3 个回复

正序浏览
public class ScannerTest {
        public static void main(String args[]){
                System.out.println("随便输入一些数字,如果不已字符结尾,那么就可以一直输入,你可以试试");
                Scanner reader=new Scanner(System.in);
                double sum = 0 ;
                int m=0;
                while(reader.hasNextDouble()){
                        double x=reader.nextDouble();
                        System.out.println(x);
                }
        }
}

这个就是扫描键盘的输入,这里我判断的是double类型,如果是那么就一直扫描,如果是字符,就停止。你参考下。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
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类型的数据。

不用谢的,希望能帮你,呵呵!

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
import java.util.Scanner:           //导入Scanner类
Scanner input= new Scanner(System.in) ;    //创建Scanner类的对象
int  ainput = input Scanner() ;        //获取输入的整数

大概就是这吧,希望可以帮到你,

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马