Чтобы ответить на вопрос, как топленое в комментарии к первому ответу:
Вы должны вызывать nextLine Сканера() метод один раз для каждой строки, который вы хотите прочитать. Это может быть выполнено с помощью цикла. Проблема, с которой вы неизбежно столкнетесь, - «Как я могу узнать, какой массив результатов должен быть?» Ответ заключается в том, что вы не можете знать, не указали ли вы его в самом входе. Вы можете изменить свою программу ввод спецификации требует количества строк читать следующий образом:
3
One Two Three
Four Five
Six Seven Eight
И тогда вы можете прочитать вход с этим:
Scanner s = new Scanner(System.in);
int numberOfLinesToRead = new Integer(s.nextLine());
String[] result = new String[numberOfLinesToRead];
String line = "";
for(int i = 0; i < numberOfLinesToRead; i++) { // this loop will be run 3 times, as specified in the first line of input
result[i] = s.nextLine(); // each line of the input will be placed into the array.
}
В качестве альтернативы вы можете использовать более продвинутые данные структура называется ArrayList. ArrayList не имеет заданной длины при его создании; вы можете просто добавить к нему информацию по мере необходимости, делая ее идеальной для чтения ввода, когда вы не знаете, сколько ввода нужно прочитать. Например, если бы мы использовали свой оригинальный пример ввода:
one two trhee
four five six
seven eight nine
Вы можете прочитать вход со следующим кодом:
Scanner s = new Scanner(System.in);
ArrayList<String> result = new ArrayList<String>();
String line = "";
while((line = s.nextLine()) != null) {
result.add(line);
}
Таким образом, вместо того, чтобы создать массив фиксированной длины, мы можем просто .add() каждую строку в ArrayList, когда мы сталкиваемся с ней во входном файле. Я рекомендую вам больше узнать о ArrayLists, прежде чем пытаться их использовать.
tl; dr: Вы вызываете следующую() или следующую строку() для каждой строки, которую вы хотите прочитать, используя цикл.
Более подробную информацию о циклах: Java Loops
Используйте 'BufferedReader' –