Javaは(InputReaderを達成所有)System.inスキャナは入力ストリームを読み込んで使用していません

StringTokenizerは

スプリットより効率的な()

コンストラクタ

公共StringTokenizerは(文字列str、String型のDELIM、ブールreturnTokens)。

公共StringTokenizerは(文字列str、String型のDELIM)。

公共StringTokenizerは(String str)文字。

一般的な方法

countTokensを()int型:nextTokenメソッドの数が呼び出された返します

ブールhasMoreTokens():戻り値が区切り文字かどうか

ブールhasMoreElements():戻り値が区切り文字かどうか

文字列のnextToken():次の区切りに現在の位置から文字列を返します。

nextElementを()オブジェクト:次の区切りに、現在の位置から文字列を返します。

ストリングのnextToken(文字列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());
    }
}

サンプル入力

10010 10086.1

サンプル出力

10010
10086.1

おすすめ

転載: www.cnblogs.com/YY666/p/11787812.html