萌新贴一个自己用的java快读模板
static StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
static PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
public static double nextDouble() throws IOException{ in.nextToken(); return in.nval; }
public static float nextFloat() throws IOException{ in.nextToken(); return (float)in.nval; }
public static int nextInt() throws IOException { in.nextToken(); return (int)in.nval; }
public static String next() throws IOException{ in.nextToken(); return in.sval;}
static BufferedReader re = new BufferedReader(new InputStreamReader(System.in));
该模板中的next方法在读取字符串的时候,如果读取的字符串开头有数字,st类就会默认以数字方式处理字符串,因为StreamTokenizer类里面有个参数是ttType,该类型决定了你的nextToken的处理类型,如果你输入的开始是例如123abc,他的ttType就是number类型,如果你的输入是例如abcder,他的ttType类型就是word类型,所以可以用readLine来读,但是readLine不要和StreamTokenizer混着使用,会读空字符串的
如何不给数据规模的情况下判断hasNext呢
这个很久没用了,我把我的快读模板pr到oiwiki了,可以看java进阶页面,然后知乎有一篇帖子如何用java打acm也是我写的,hasnext可以用while(in.br.readLine()!=null)
那如果想读入多条String呢,readLine不就会报错吗