Выдаёт ошибку после одного прогона.
1.Добавить пациента
2.Удалить пациента
3.Открыть карту пациентов
4.Открыть список пациентов
5.Изменить карту
6.Личный кабинет
7.Выход
1
Введите день, месяц, год. Ввод производится только цифрами!
123
123
123
Введите полис пациента (16)
123
Введите снилс пациента (11)
123
Введите ФИО. Ввод производится только буквами!
qwe
Введите заболевание
qwe
Введите возраст. Ввод производится только буквами!
123
Введите дом. Ввод производится только буквами!
12
Введите Улицу. Ввод производится только буквами!
qwe
Введите место работу/Учёбы. Ввод производится только буквами!
qwe
1.Добавить пациента
2.Удалить пациента
3.Открыть карту пациентов
4.Открыть список пациентов
5.Изменить карту
6.Личный кабинет
7.Выход
Exception in thread "main" java.util.NoSuchElementException
at java.base/java.util.Scanner.throwFor(Scanner.java:941)
at java.base/java.util.Scanner.next(Scanner.java:1598)
at java.base/java.util.Scanner.nextInt(Scanner.java:2263)
at java.base/java.util.Scanner.nextInt(Scanner.java:2217)
at Main.main(Main.java:14)
Класс Main
import java.util.*;
import java.lang.*;
public class Main {
public static void main(String[] args) {
//Doctor chuk=new Doctor();
patient first=new patient();
int user=0;
long snils;
while(user!=7)
{
Scanner in = new Scanner(System.in).useLocale(Locale.US);
Menu.Actions();
user=in.nextInt();
if(user==1)
{
Doctor.get(first);
}
if(user==2)
{
System.out.println("Введите снилс пациента");
snils= in.nextLong();
Doctor.deletePat(first,snils);
}
}
}
}
Класс Doctor
public class Doctor {
private String FIO="Чукавин Алексей Васильевич";
private String Post="Заведующий отделения";
private String DMY="24.08.1978";
private String OPT="19 лет";
public static void get(patient pat)
{
if(pat==null)
pat.get(pat);
else
{
patient patq=new patient();
patient step=pat;
while(step.next!=null)
{
step=step.next;
}
patq.get(patq);
step.next=patq;
}
}
public static void deletePat(patient pat,long value)
{
patient newPat;
patient step=pat;
int val=0;
while(step.snils!=value)
{
step=step.next;
val++;
}
newPat=step;
step=pat;
int i=0;
while(i!=val-1)
{
i++;
step=step.next;
}
step.next=newPat;
}
}
Класс patient
import java.util.Scanner;
import java.lang.*;
public class patient {
patient next=null;
private int day,year,month;
public long polis, snils;
private String family_name;
private String illnes;
private int age;
private int house;
private String street, plaseStJ;
public static void get(patient human)
{
Scanner in=new Scanner(System.in);
System.out.println("Введите день, месяц, год. " + "Ввод производится только цифрами!");
human.day=in.nextInt();
human.month=in.nextInt();
human.year=in.nextInt();
System.out.println("Введите полис пациента (16)");
human.polis=in.nextLong();
System.out.println("Введите снилс пациента (11)");
human.snils= in.nextLong();
System.out.println("Введите ФИО. " + "Ввод производится только буквами!");
human.family_name=in.nextLine();//пропускает
human.family_name=in.nextLine();
System.out.println("Введите заболевание");
human.illnes=in.nextLine();
System.out.println("Введите возраст. " + "Ввод производится только буквами!");
human.age=in.nextInt();
System.out.println("Введите дом. " + "Ввод производится только буквами!");
human.house=in.nextInt();
System.out.println("Введите Улицу. " + "Ввод производится только буквами!");
human.street=in.nextLine();//пропускает
human.street=in.nextLine();
System.out.println("Введите место работу/Учёбы. " + "Ввод производится только буквами!");
human.plaseStJ=in.nextLine();
in.close();
}
public static void output(patient human)
{
System.out.println("===========================================");
System.out.println("ФИО: "+human.family_name+";");
System.out.println("Дата рождения: "+human.day+"."+human.month+"."+human.year+";");
System.out.println("Возраст: "+human.age+":");
System.out.println("Документы:\n ПОЛИС: "+human.polis+";\n СНИЛС: "+human.snils+";");
System.out.println("Заболевание: "+human.illnes+";");
System.out.println("Место жительства: ул."+human.street+","+human.house+";");
System.out.println("Введите место работу/Учёбы: " + human.plaseStJ);
System.out.println("===========================================");
}
}
Класс Menu
public class Menu {
static void Actions()
{
System.out.println("1.Добавить пациента");
System.out.println("2.Удалить пациента");
System.out.println("3.Открыть карту пациентов");
System.out.println("4.Открыть список пациентов");
System.out.println("5.Изменить карту");
System.out.println("6.Личный кабинет");
System.out.println("7.Выход");
}
}
Пытался найти информацию в интернете, не получилось. Опыта на java очень мало. Буду благодарен за подробное объяснение и другие замечания.