Я пишу программу, которая использует класс Event, в котором есть экземпляр календаря и описание типа String. В методе создания события используется сканер для ввода месяца, дня, года, часа, минуты и описания. Проблема, с которой я столкнулась, заключается в том, что метод Scanner.next() возвращает только первое слово перед пробелом. Поэтому, если вход "Мой День рождения", описание этого экземпляра события просто "Мой".
Я провел некоторое исследование и обнаружил, что люди использовали Scanner.nextLine() для этой проблемы, но когда я пытаюсь это сделать, он просто пропускает прошлое, куда должен идти вход. Вот как выглядит часть моего кода:
System.out.print("Please enter the event description: ");
String input = scan.nextLine();
e.setDescription(input);
System.out.println("Event description" + e.description);
e.time.set(year, month-1, day, hour, min);
addEvent(e);
System.out.println("Event: "+ e.time.getTime());
И это результат, который я получаю:
Please enter the event description: Event description
Event: Thu Mar 22 11:11:48 EDT 2012
Он пропускает пробел, чтобы ввести описание String, и в результате описание (которое изначально установлено в пустое пространство - "") никогда не изменяется.
Как я могу это исправить?