【发布时间】:2011-08-23 10:07:43
【问题描述】:
我正在编写一个使用 Event 类的程序,其中包含一个日历实例和一个字符串类型的描述。创建事件的方法使用 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
它跳过空格输入描述字符串,因此,描述(最初设置为空格 - “”)永远不会改变。
我该如何解决这个问题?
【问题讨论】:
-
你没有打印描述,那么你怎么知道它没有正确阅读?
-
你能包含一个输入示例吗?
-
我不小心省略了打印描述的代码行,但我现在已经把它放进去了。 @Michael,我不知道要告诉你一个输入示例,因为我从来没有得到输入描述的提示。
-
你是怎么输入时间信息的?
标签: java string java.util.scanner