Я пытаюсь взять ввод от пользователя в формате (dd/mm/yy)
, сохранить его в том же формате и передать его с помощью getter, setter в другой класс. Я попробовал этот путь:Взять дату от пользователя и сохранить его как дату в java
Это то, что я пробовал:
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
SimpleDateFormat myFormat = new SimpleDateFormat("dd MM yyyy");
Guest gstObject = new Guest();
try {
System.out.println("Enter check-in date (dd/mm/yy):");
String cindate = input.next();
Date date1 = myFormat.parse(cindate);
gstObject.setIndate(date1);
} catch (ParseException e) {
e.printStackTrace();
}
}
С помощью этого кода я получаю исключение, когда я даю ввод в (27012017 или 27 01 2017 г.):
java.text.ParseException: Unparseable date: "27" at java.text.DateFormat.parse(DateFormat.java:366) at edu.lfa.GuestArrayList.main(GuestArrayList.java:49)
Пожалуйста, укажите, какую ошибку я совершил.
Используйте 'input.nextLine()' вместо 'input.next()'. Кроме того, вы запрашиваете у пользователя другой формат, чем ваш 'SimpleDateFormat' фактически принимает, поэтому следите за этим. – Zircon
Итак, если вы хотите, чтобы они вошли в 'dd/mm/yy', почему вы написали' myFormat = new SimpleDateFormat («dd MM yyyy»); '? –