Добрий ранок.
Є поставлена задача, написати олімпіадну задачу, в деталі завдання вдаватися не буду, тому що хочу зробити сам, можливо потім, якщо буде повний ступор то поділюся думками.
Щодо заголовку теми... Як вже зрозуміло, я пишу на Java, в середовищі Eclipse.
Виникло таке питання: "Як зчитати дані рядкового типу з пропусками?".
Не так давно була практика по Java, де нам розповіли про такий клас, як Scanner. Цей клас зчитує майже все ідеально окрім одного моменту, зчитування рядка.
▼Приклади використання Scanner
Scanner scan = new Scanner(System.in);
int n = scan.nextInt(); // Зчитування цілого числа
String str = scan.next(); // Зчитування рядка без пропусків
String str_spaced = scan.nextLine(); // Зчитування рядка з пропусками
Примітка: scan.next() не може зчитати рядок такого формату: "слово1 слово2 слово3" і т.д., точніша кажучи відбудеться така ось штука, якщо вивести результат зчитування: "слово1".
Хто цього не знає, або якщо комусь цікаво, ось загальне рішення зчитування
Знайшов також таку ось штуковинку.
Так до чого я це все пишу? В мене виникло питання щодо метода .nextLine().
Використовую в такому контексті:
▼Код
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
System.out.print("Input count of rows: ");
int n = scan.nextInt();
String line = null;
for (int i = 0; i < n; i++) {
System.out.print("logans@logans:~$ ");
line = scan.nextLine();
}
}
В результаті отримую ось таку картину:
▼Результат
Input count of rows: 6
logans@logans:~$ logans@logans:~$ й
logans@logans:~$ ц
logans@logans:~$ у
logans@logans:~$ к
logans@logans:~$ е
Тобто на першій ітерації циклу, зчитує, здається "\n", а потім працює нормально.
Тому і звертаюся до вас по допомогу.
Якщо хтось зрозумів чи згадав, що це за завдання то я попрошу не світити його тут, можна запитати мене в пп.
Дякую за увагу, в мене все. 