对于输入样式,可以分为两种情况:
- 给出了每组数据的长度,界限。
- 每个数据一行,未给出数据长度。
给出数据长度
import java.io.BufferedReader;
import java.io.PrintWriter;
import java.io.StreamTokenizer;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.IOException;
public class IOtemplate {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StreamTokenizer in = new StreamTokenizer(br);
PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
in.nextToken();
int rounds = (int)in.nval;
for(int i = 0; i < rounds; i++) {
in.nextToken();
int n = (int)in.nval;
out.println();
}
out.flush();
out.close();
}
}
按行读取输入
按行读取输入时:
- 每行数据都只能被输入为字符串
- 长度信息只能转成String数组后算
import java.io.*;
public class IOtempleByLine {
private static String line;
private static String[] parts;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
while((line = br.readLine()) != null) {
parts = line.split(" ");
int len = parts.length;
int[] arr = new int[len];
for (int i = 0; i < len; i++) {
arr[i] = Integer.valueOf(parts[i]);
}
}
}
}