码迷,mamicode.com
首页 > 其他好文 > 详细

Scanner和bufferreader读取控制台字符的区别

时间:2017-04-27 19:45:34      阅读:299      评论:0      收藏:0      [点我收藏+]

标签:java   ber   简单   int   new   line   integer   exti   class   

从开始学习Java就用了scanner,因为比较简单每当遇到空格键或者换行键则读取下一个字符,一般用法

while(input.hasNextInt()){
int n = input.nextInt();
int t = input.nextInt();
int c = input.nextInt();
int[] a = new int[n];
for(int i = 0;i < n;i++){
a[i]=input.nextInt();
}

这样就可以读取若干行以空格键或者换行键输入,但是今天做一个在线编程时发现bufferreader比scanner快,虽然比scanner占用内存多一些

bufferreader的输入只能使用readline()的方式读取一行文本,如果想将BufferedReader .readLine()的文本(默认是字符串类型)转换成其他类型的话,需要调用相应的方法(比如说想换成int类型的话,调用Integer.parseInt(BufferedReader .readLine()方法去转换格式)) 

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str;
        while((str=br.readLine())!=null){
            String[] s = str.trim().split(" ");
            int n = Integer.parseInt(s[0]);
            int t = Integer.parseInt(s[1]);
            int c = Integer.parseInt(s[2]);
            int[] value = new int[n];
            if((str=br.readLine())!=null){
                String[] s2 = str.trim().split(" ");
                for(int i =0;i<n;i++){
                    value[i] = Integer.parseInt(s2[i]);
                }
            }
2.trim()的用法
trim是去掉字符串首尾的空格
3.parseInt()函数
Integer.parseInt(String s)将string返回int数据
Integer.parseInt(String s,int i)将i进制数据转成10进制

Scanner和bufferreader读取控制台字符的区别

标签:java   ber   简单   int   new   line   integer   exti   class   

原文地址:http://www.cnblogs.com/lxy1998/p/6775533.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!