ACM_java輸入輸出優化
來源:程序員人生 發布時間:2014-10-08 13:40:26 閱讀次數:2529次
今天的網絡賽居然卡java的Scanner 。。。sad 欺負我是java新手啊 賽后看了大牛的寫法,原來是輸入輸出有優化。。。。。。。要醉了。
StreamTokenizer和PrintWriter
但是用Scanner輸入就像cin那樣比較慢,當數據量一大會超時的,此時不得不用StreamTokenizer 和 PrintWriter
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException
// in.nextTokenizer可能拋出這個異常
{
StreamTokenizer in = new StreamTokenizer(new BufferedReader(
new InputStreamReader(System.in)));
// 這句是io流包裝來包裝去,記住就好;
PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
int a, b;
while (in.nextToken() != StreamTokenizer.TT_EOF)
// 用in.nextToken()讀下一個標記,StreamTokenizer.TT_EOF這個是個參數,就是EOF
{
a = (int) in.nval;
// 讀進來的是double型的,所以要轉成int
in.nextToken();
// 讀入b值(a的值是在while循環中讀入的)
b = (int) in.nval;
out.println(a + b);
}
out.flush();
// 刷新緩沖區,必須的,不然a+b會留在緩沖區
}
}
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈