Использование сканера намного быстрее и, следовательно, более эффективно. Кроме того, он не требует от вас использования буферизованных потоков для ввода. Вот его использование:
java.util.Scanner sc = new java.util.Scanner(System.in); // "System.in" is a stream, a String or File object could also be passed as a parameter, to take input from
int n; // take n as input or initialize it statically
int ar[] = new int[n];
for(int a=0;a<ar.length;a++)
ar[a] = sc.nextInt();
// ar[] now contains an array of n integers
Также обратите внимание, что функция nextInt()
может выдавать 3 исключения, как указано здесь Не забудьте разобраться с ними.