將已經存在的字符串設置爲系統輸入流這是OJ上面不用鍵盤輸入而使用以前寫死的字符做爲你提交程序輸入的原理。
java
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); } } }