Java的输出和输出真是太慢了!!!!!
如果需要输入105数量级的数据并输出同样数量级的数据,使用Scanner和System.out耗时将很可能超过1s。为了避免这种输入输出过慢的情况,这里引入Java中比较快的一种输入输出方式。
- /*
- 这种输入输出会抛出异常IOException,所以要么写一个捕获异常,要么写一个throws IOException之类的东西
- */
-
- StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); // 用于输入的对象
- PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out)); // 用于输出的对象
-
- /*输入*/
- in.nextToken(); // 必须先调用这个把下一个数据拉进来
- int n = (int)in.nval; // 然后调用in.nval即可得到拉进来的数据(似乎是以实型的方式读进来了)。注意如果不断调用in.nval,得到的数据都是一样,因为没有调用in.nextToken()重新获得。
- while (in.nextToken() != StreamTokenizer.TT_EOF) // 如果不知道还有没有下一个数据,可以这么干
- {
- // 然后在这里重复上述的输入过程,并干一些别的事情
- }
-
- /*输出*/
- out.println(n);
- out.printf("%d ",n);//格式化
- out.flush();//不管用上述的哪一种输出,最后记得flush
-