輸入流操做


將已經存在的字符串設置爲系統輸入流這是OJ上面不用鍵盤輸入而使用以前寫死的字符做爲你提交程序輸入的原理。

java

useDelimiter


一個簡單的文本掃描器,能夠使用正則表達式解析原始類型和字符串。
A Scanner分隔符模式將輸入打破到令牌,默認狀況下匹配空格。

import org.apache.commons.io.Charsets;
import org.apache.commons.io.IOUtils;

import java.io.InputStream;
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;

public class OJTest {
    public static void main(String[] args) {
        List<String> list = new LinkedList<>();
        list.add("xiaohu");
        list.add("xiaoming");
        list.add("zhangjie");

        //合併爲一個字符以,鏈接
        String names=String.join(",",list);

        //將字符串做爲系統的輸入流
        InputStream is= IOUtils.toInputStream(names, Charsets.toCharset("utf-8"));
        //重置系統輸入流
        System.setIn(is);

        Scanner sc = new Scanner(System.in);
        sc.useDelimiter(",");

        while(sc.hasNext()){
            String str=sc.next();
            System.out.println(str);
        }
    }
}
相關文章
相關標籤/搜索