Я хочу через scanner записать данные с клавиатуры, но некоторые из них он просто пропускает, почему так?
В 1 кейсе код путевки вводится, а фамилия нет, но название пансионата тоже вводится.(везде где инт все нормально, только со стрингом такая проблема)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int b = -1;
int i = 0, o = 0, p = 0;
Scanner scanner = new Scanner((System.in));
зарпутевки[] h = new зарпутевки[10];
санатории[] k = new санатории[10];
оздоровительные[] l = new оздоровительные[10];
do
{
System.out.println("1 - Зарубежные путевки\n2 - Санатории\n3 - Детские оздоровительные\n4 - Вывод всех путевок\n0 - Выход");
b = scanner.nextInt();
switch (b) {
case 0: {
break;
}
case 1: {
h[i] = new зарпутевки();
System.out.println("Введите код путевки");
h[i].code = scanner.nextInt();
System.out.println("Введите фамилию клиента");
h[i].фамилия = scanner.nextLine();
System.out.println("Введите название пансионата");
h[i].название = scanner.nextLine();
System.out.println("Введите номер");
h[i].number = scanner.nextInt();
System.out.println("Введите вид жилья");
h[i].виджилья = scanner.nextLine();
System.out.println("Введите дату заезда");
h[i].date1 = scanner.nextInt();
System.out.println("Введите дату выезда");
h[i].date2 = scanner.nextInt();
System.out.println("Введите количество человек");
h[i].quantity = scanner.nextInt();
System.out.println("Введите цену");
h[i].price = scanner.nextInt();
System.out.println("Введите номер загранпаспорта");
h[i].загпаспорт = scanner.nextInt();
System.out.println("Введите номер страховки");
h[i].страховка = scanner.nextInt();
i++;
break;
}
case 2: {
System.out.println("Введите код путевки");
k[o].code = scanner.nextInt();
System.out.println("Введите фамилию клиента");
k[o].фамилия = scanner.nextLine();
System.out.println("Введите название пансионата");
k[o].название = scanner.nextLine();
System.out.println("Введите номер");
k[o].number = scanner.nextInt();
System.out.println("Введите вид жилья");
k[o].виджилья = scanner.nextLine();
System.out.println("Введите дату заезда");
k[o].date1 = scanner.nextInt();
System.out.println("Введите дату выезда");
k[o].date2 = scanner.nextInt();
System.out.println("Введите количество человек");
k[o].quantity = scanner.nextInt();
System.out.println("Введите цену");
k[o].price = scanner.nextInt();
System.out.println("Введите номер медицинского полиса");
k[o].медполис = scanner.nextInt();
System.out.println("Введите номер диагноза");
k[o].диагноз = scanner.nextLine();
System.out.println("Введите направление");
k[o].направление = scanner.nextLine();
o++;
}
case 3: {
System.out.println("Введите код путевки");
l[p].code = scanner.nextInt();
System.out.println("Введите фамилию клиента");
l[p].фамилия = scanner.nextLine();
System.out.println("Введите название пансионата");
l[p].название = scanner.nextLine();
System.out.println("Введите номер");
l[p].number = scanner.nextInt();
System.out.println("Введите вид жилья");
l[p].виджилья = scanner.nextLine();
System.out.println("Введите дату заезда");
l[p].date1 = scanner.nextInt();
System.out.println("Введите дату выезда");
l[p].date2 = scanner.nextInt();
System.out.println("Введите количество человек");
l[p].quantity = scanner.nextInt();
System.out.println("Введите цену");
l[p].price = scanner.nextInt();
System.out.println("Введите номер медицинского полиса");
l[p].age = scanner.nextInt();
System.out.println("Введите номер диагноза");
l[p].свидорож = scanner.nextInt();
System.out.println("Введите направление");
l[p].пол = scanner.nextLine();
p++;
}
case 4: {
if (h[0]!=null) {
for (int m = 0; m <= i; m++) {
h[m].toString();
}
}
if (o >= 0) {
for (int n = 0; n <= o; n++) {
k[n].toString();
}
}
if (p >= 0) {
for (int c = 0; c <= p; c++) {
l[c].toString();
}
}
}
}
}while(b!=0);
}
}
class путевки
{
int code, number, quantity, date1, date2, price;
String фамилия, название, виджилья;
public путевки()
{
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getФамилия() {
return фамилия;
}
public void setфамилия(String фамилия) {
this.фамилия = фамилия;
}
public String getназвание() {
return название;
}
public void setназвание(String название) {
this.название = название;
}
public int getnumber() {
return number;
}
public void setnumber(int number) {
this.number = number;
}
public String getвиджилья() {
return виджилья;
}
public void setвиджилья(String виджилья) {
this.виджилья = виджилья;
}
public int getDate1() {
return date1;
}
public void setDate1(int date1) {
this.date1 = date1;
}
public int getDate2() {
return date2;
}
public void setDate2(int date2) {
this.date1 = date2;
}
public int getquantity() {
return quantity;
}
public void setquantity(int quantity) {
this.quantity = quantity;
}
public int getprice() {
return price;
}
public void price(int price) {
this.price = price;
}
public String toString()
{
return "Код путевки: " + code + "\nФамилия клиента: " + фамилия + "\nНазвание пансионата: "+название+"\nНомер: "+number+"\nВид жилья: "+виджилья+"\nДата заезда: "+date1+"\nДата выезда: "+date2+"\nКоличество человек: "+quantity+"\nЦена: "+price;
}
}
class зарпутевки extends путевки
{
int загпаспорт, страховка;
public int getзагпаспорт() {
return загпаспорт;
}
public void setзагпаспорт(int загпаспорт) {
this.загпаспорт = загпаспорт;
}
public int getстраховка() {
return страховка;
}
public void setзстраховка(int зстраховка) {
this.страховка = страховка;
}
public String toString()
{
return "Код путевки: " + code + "\nФамилия клиента: " + фамилия + "\nНазвание пансионата: "+название+"\nНомер: "+number+"\nВид жилья: "+виджилья+"\nДата заезда: "+date1+"\nДата выезда: "+date2+"\nКоличество человек: "+quantity+"\nЦена: "+price+"\nНомер загран паспорта: "+загпаспорт+"\nНомер страховки: "+страховка;
}
}