当我从扫描器中获取字符串变量并将其解析为格式为“yyyy-mm-dd hh:mm”的localdatetime时,扫描器保存了输入(即2020-10-12 14:30),没有时间。我相信时间正在被保存到下一个变量中。但是,如果输入2020-10-1214:30而不带空格,则会正确保存变量。
下面是我的构造函数,在这里创建对象,并将字符串解析为localdatetime对象。
public computerbooking(String strDAte, String ReturnDate,String computerType,String AssetTag,String StudentId ){
counter++;
this.bookingId = "Book"+counter;
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
bookingDateAndTime = bookingDateAndTime.parse(strDAte,formatter);
returnDateAndTime = returnDateAndTime.parse(ReturnDate,formatter);
this.computerType = computerType;
this.AssetTag = AssetTag;
this.StudentId = StudentId;
}
如何指示扫描仪不读取日期和时间之间的空格以正确保存
1条答案
按热度按时间ecbunoof1#
LocalDateTime#parse
是一个static
功能。使用LocalDateTime.parse(strDate, formatter)
而不是bookingDateAndTime.parse(strDAte,formatter)
.使用
Scanner#nextLine
扫描整行输入。如果您正在使用Scanner#next
,它最多只能扫描2020-10-12
i、 一旦在扫描后遇到空白字符,它就会停止扫描2020-10-12
.演示:
示例运行: