控制台输出Scanner和BufferedReader区别

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

posted @ 2020-02-10 13:34  脱裤放屁?  阅读(264)  评论(0)    收藏  举报