首页 > 其他 > 详细

控制台输出Scanner和BufferedReader区别

时间:2020-02-10 15:42:14      阅读:86      评论:0      收藏:0      [点我收藏+]

Scanner取得输入的依据是空格符,包括空格键,Tab键和Enter键.当按下这其中的任一键 时,Scanner就会返回下一个输入. 当你输入的内容中间包括空格时,显然,使用Scanner就不能完整的获得你输入的字符串。
但是nextline来获取完整输入

package AA;
import java.util.Scanner;
public class Io数据流 {

public static void main(String[] args) {

Scanner de=new Scanner(System.in);
System.out.println("第一个数据(next)");
String dee=de.next();
System.out.println(dee);

}

}

结果:

技术分享图片

 很明显,后面的321没有输出

 

完整的输出:nextLine();、BufferedReader

它们都是固定的格式,只要运用正确,出来enter外所有字符都能输出。

 

1,nextLine();---方法

package AA;
import java.util.Scanner;
public class Io数据流 {

    public static void main(String[] args) {
        Scanner de=new Scanner(System.in);
        System.out.println("第二个数据(nextLine)");
        String dee1=de.nextLine();
        System.out.println(dee1);
    }

}

 

结果:

技术分享图片

 

 

此外,还有其他常用的Scanner方法:

        next():取得一个字符串;
        nextInt():将取得的字符串转换成int类型的整数;
        nextFloat():将取得的字符串转换成float型;
        nextBoolean():将取得的字符串转换成boolean型; 

 

 

2,BufferedReader

BufferedReader de=new BufferedReader(new InputStreamReader(System.in));

步骤:
1,方法必须抛出异常
2,写上固定格式,赋值
3,输出字符:

package AA;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Io数据流 {
    
    public static void main(String[] args) throws IOException {
         char c;
        BufferedReader de=new BufferedReader(new InputStreamReader(System.in));
         System.out.println("输入字符, 按下 ‘q‘ 键退出。");
            // 读取字符
            do {
                c = (char) de.read();
                System.out.print(c);
            } while (c != q);
            
        }
    }

上面是利用循环,根据单个字符来输出

 

方法二:推荐

package AA;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Io数据流 {
    
    public static void main(String[] args) throws IOException {
        
        BufferedReader de=new BufferedReader(new InputStreamReader(System.in));
        String dee=de.readLine();
        System.out.println(dee);
        }
    }

 

参考:https://blog.csdn.net/cyp331203/article/details/38639101

控制台输出Scanner和BufferedReader区别

原文:https://www.cnblogs.com/xg-ai-tt/p/12290521.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!