Scanner는 성능이 떨어지기 때문에 입력이 많은 경우 문제가 생깁니다.

BufferedReader와 StringTokenizer를 이용해 입력받는 것을 습관화 시키는게 좋습니다.

1. 정수 입력 하나 받는 경우

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;


public class Main {

	public static void main(String[] args) throws IOException {

		BufferedReader br = new BufferedReader( new InputStreamReader( System.in ) );
		StringTokenizer st = new StringTokenizer(br.readLine());
		int n1 = Integer.parseInt(st.nextToken());	
		// To do //
	}
}

2. 한 줄에 임의 개의 입력을 받는 경우

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;


public class Main {

	public static void main(String[] args) throws IOException {

		BufferedReader br = new BufferedReader( new InputStreamReader( System.in ) );
		StringTokenizer st = new StringTokenizer(br.readLine());

		while(st.hasMoreTokens()) {
			
			int temp = Integer.parseInt(st.nextToken());
			// To do //
		}
	}
}

3. 첫줄에 테스트 횟수, 이후에 N번 입력을 받는 경우 (1번과 2번을 조합하면 됨)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;


public class Main {

	public static void main(String[] args) throws IOException {

		BufferedReader br = new BufferedReader( new InputStreamReader( System.in ) );
		StringTokenizer st = new StringTokenizer(br.readLine());
		int n1 = Integer.parseInt(st.nextToken());
		int temp = 0;

		for(int i=0;i<n1;i++) {
			st = new StringTokenizer(br.readLine());
			while(st.hasMoreTokens()) {
				temp = Integer.parseInt(st.nextToken());
				// To do //
			}
		}
	}
}