zoukankan      html  css  js  c++  java
  • Java 不使用Scanner读取System.in输入流(自己实现一个InputReader)

    StringTokenizer

    效率高于split()

    构造方法

    public StringTokenizer(String str,String delim,boolean returnTokens);

    public StringTokenizer(String str,String delim);

    public StringTokenizer(String str);

    常用方法

    int countTokens():返回nextToken方法被调用的次数

    boolean hasMoreTokens():返回是否还有分隔符

    boolean hasMoreElements():返回是否还有分隔符

    String nextToken():返回从当前位置到下一个分隔符的字符串

    Object nextElement():返回从当前位置到下一个分隔符的字符串

    String nextToken(String delim):与4类似,以指定的分隔符返回结果

    InputReader

    源码

    import java.io.*;
    import java.util.*;
    
    class InputReader {
        private final static int BUF_SZ = 65536;
        private BufferedReader in;
        private StringTokenizer tokenizer;
    
        InputReader(InputStream buf) {
            this.in = new BufferedReader(new InputStreamReader(buf), BUF_SZ);
            tokenizer = new StringTokenizer("");
        }
    
        private String next() {
            while (!tokenizer.hasMoreTokens()) {
                try {
                    tokenizer = new StringTokenizer(in.readLine());
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }
            return tokenizer.nextToken().trim();
        }
    
        int nextInt() {
            return Integer.parseInt(next());
        }
    
        double nextDouble() {
            return Double.parseDouble(next());
        }
    }
    

    使用方法

    public class Main {
        public static void main(String[] args) {
            // write your code here
            var cin = new InputReader(System.in);
            System.out.println(cin.nextInt());
            System.out.println(cin.nextDouble());
        }
    }
    

    Sample Input

    10010 10086.1
    

    Sample Output

    10010
    10086.1
    
  • 相关阅读:
    BZOJ 3261 最大异或和(可持久化Trie)
    模板 普通平衡树
    HDU4825 Xor Sum(贪心+Trie树)
    二维LIS(CDQ分治)
    IOIOI卡片占卜(Atcoder-IOIOI カード占い)(最短路)
    USACO 2009 Dec cow toll paths 过路费-floyd
    [USACO08JAN]电话线Telephone Lines(分层图)/洛谷P1948
    lightoj 1038 Race to 1 Again 期望
    lightoj 1030 Discovering Gold 期望
    lightoj 1027 A Dangerous Maze 期望
  • 原文地址:https://www.cnblogs.com/YY666/p/11787812.html
Copyright © 2011-2022 走看看