Всем привет.
Решил "поиграться" с Java и посмотреть на свои знания))
Задача была такая:
Создать базу данных "Индивидуальных предпринимателей" (я из РБ - у нас тут ИП, плюс я бывший ИП-шник, поэтому в голову пришла такая задача)))
И вроде бы красиво всё написал (на мой взгляд), конечно мой код может кого-то шокировать))), но как есть)
Код такой:
Класс Main:
import java.util.ArrayList;
public class Main{
public static void main(String[] args) {
ArrayList<IP> BaseDate = new ArrayList<>();
IP.addNewIP(BaseDate);
}
}
Класс IP:
import java.util.ArrayList;
import java.util.Scanner;
public class IP {
private int UNP;
private String FIO;
public IP (int UNP, String FIO) {
this.UNP = UNP;
this.FIO = FIO;
}
public int getUNP() {
return UNP;
}
public String getFIO() {
return FIO;
}
public void setUNP(int UNP) {
this.UNP = UNP;
}
public void setFIO(String FIO) {
this.FIO = FIO;
}
public static void addNewIP(ArrayList<IP> BaseDate) {
Scanner scanner = new Scanner(System.in);
while (scanner.nextInt() != 0) {
BaseDate.add(new IP(scanner.nextInt(), scanner.nextLine()));
}
}
}
При запуске программы, при вводе данных (111222333, Иванов Иван Иванович) возникает ошибка:
Exception in thread "main" java.util.InputMismatchException
at java.base/java.util.Scanner.throwFor(Scanner.java:943)
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)
Почему она возникает?
Я разве не правильно ввел данные?