У меня есть следующий код для получения ввода от пользователя в случае 1 оператора switch:
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
SimpleDateFormat myFormat = new SimpleDateFormat("dd MM yyyy");
Guest gstObject = new Guest();
System.out.println("Enter reservation ID:");
gstObject.setId(input.nextInt());
System.out.println("Enter first name:");
gstObject.setfName(input.next());
System.out.println("Enter last name:");
gstObject.setfName(input.next());
System.out.println("Enter check-in date (dd/mm/yy):");
String cindate = input.nextLine();
if(null != cindate && cindate.trim().length() > 0){
Date date1 = myFormat.parse(cindate);
}
System.out.println("Enter check-out date (dd/mm/yy):");
String outdate = input.nextLine();
if(null != outdate && outdate.trim().length() > 0){
Date date2 = myFormat.parse(outdate);
}
}
Код принимает ввод один за другим одновременно до Enter last name:
, но выполняет два последних шага check-in date
и check-out date
одновременно и не запрашивает ввод check-in date
.
Я пробовал, меняя местами эти входы. Я также игнорирую входные данные, находящиеся вверху, и принимаю входные данные, находящиеся внизу. Также попробовал поставить check-in date
и check-out date
в самом верху по очереди. Они игнорируют входные данные и сразу переходят к Enter reservation ID
.
Как я могу решить это дело?
scan.nextLine();
вместоinput.nextLine();
, как было предложено в вышеупомянутом (дубликате), но это дает мне предупреждение, что я не могу найти символscan
и создать класс сканирования. - person Zachary Dale   schedule 26.01.2017scan.nextLine();
? - person Zachary Dale   schedule 27.01.2017