大家都知道,在ACM竞赛中,对程序运行时间有非常严格的要求,所以大部分人喜欢用C/C++,因为C/C++比JAVA快,JAVA容易超时。然而JAVA语言本身也有很多C/C++所没有的优势,为了让我们可爱的JAVA不因为运行时间而被ACMers吐槽,也为了让JAVA在ACM竞赛中发挥它更大的价值,故总结出JAVA高速IO输入输出,下面模板已经过多次测试,各大在线测评网站都支持使用。欢迎ACMers粘贴搬走~
package jalTest;
import java.io.*;
/**
* Created by jal on 2018/5/8 0008.
*/
public class JavaHighSpeedIOTest {
public static void main(String[] args) throws IOException {
/* 下面这是IO流包装,可以看不懂,直接套用就好*/
StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
/*StreamTokenizer.TT_EOF这是个参数,就是指文件尾,EOF*/
while (in.nextToken() != StreamTokenizer.TT_EOF) {
int a = (int) in.nval;/*获取整数*/
in.nextToken();/*nextToken()方法相当于让光标指向下一个位置,记得写*/
int b = (int) in.nval;
in.nextToken();
int c = (int) in.nval;
in.nextToken();
double d = in.nval;
in.nextToken();
String str = in.sval;/*注意:sval是获取不带空格的字符串,含有空格的字符串貌似无法读取。*/
in.nextToken();
out.println(a);/*输出语句*/
out.print(str);
out.flush();/*刷新输出缓冲区*/
}
}
}