Java 扫描程序字符串输入
2022-09-02 09:59:24
我正在编写一个使用 Event 类的程序,该类中有一个日历实例和 String 类型的说明。创建事件的方法使用 Scanner 来获取月、日、年、小时、分钟和描述。我遇到的问题是 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,因此,描述(最初设置为空格 - “ ”)永远不会更改。
我该如何解决这个问题?