0
点赞
收藏
分享

微信扫一扫

StreamTokenizer、Scanner、BufferedReader三种读取输入方式

写心之所想 2022-03-19 阅读 75
java

Scanner

日常少量数据情况下使用

class scannerIn{
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int i = scanner.nextInt();
        int i1 = scanner.nextInt();
        System.out.println(i1+i);
    }
}

BufferedReader

需要读取大量字符串时使用

class bufferReaderIn{
    public static void main(String[] args) throws IOException {
        //当需要读取大量字符串的时候使用
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        String s = bf.readLine();//读取一行的数据
        System.out.println(s);
    }
}

StreamTokenizer

数据量输入特别大时使用

public class streamTokenizer {
    public static void main(String[] args) throws IOException {
        //当输入数据量十分大的情况下
        //使用streamtokenizer类可以比scanner快很多
        //只能读取数字和字母字符串, 不能读取空格和其余字符。
        StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
        in.nextToken();//读取一个标识,遇到空格键,Enter键,Tab键结束一次输入
        int a  = (int)in.nval;//nval读取double类型
        in.nextToken();
        String s = in.sval;//sval读取string类型
        in.nextToken();
        int b = (int)in.nval;
        System.out.println(a+b);
        System.out.println(s);
    }
}
举报

相关推荐

0 条评论