将已经存在的字符串设置为系统输入流这是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); } } }