public class Solution {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
ArrayList<String> list = new ArrayList<String>();
int n = sc.nextInt();
int m =sc.nextInt();
String h = sc.nextLine(); // если я не пишу эту строчку, то когда происходит присваивание значений в список в цикле ниже, то первый элемент с индексом 0 сохраняется как пустая строка!! почему?
for (int i = 0; i < n; i++){
list.add(sc.nextLine());
}
……
…...
Olya
18 уровень
Задача решена, но остался вопрос.
Решен
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
--------Master
24 октября 2018, 23:44решение
Особенности работы сканера. Если ввести 3 и нажать enter, будет фактически введено "3\n" (\n - перевод строки), при этом сканер обработает 3 в nextInt, а \n так и останется не прочитанным - считается уже по nextLine.
Можно ввести "5 10 abc" через пробел - n и m получат значения 5 и 10, nextLine вернет " abc" (с пробелом в начале).
+3