【发布时间】:2020-09-04 10:48:54
【问题描述】:
如何正确处理扫描仪中的异常?我有不同类型的输入,不知道如何避免,例如 InputMisMatchException 没有使用 try catch 块并且没有结束程序。 许多方法有许多输入。如何解决此问题并获得干净的代码?我还在学习,我是初学者。有什么想法可以缩短我的代码吗?这种方法似乎过于广泛。我没有重构的经验。 例如我的 addPerson 方法:
private static void addPerson(Scanner scanner) {
System.out.println("name:");
String name = scanner.next();
System.out.println("surname:");
String surname = scanner.next();
System.out.println("age:");
int age = scanner.nextInt();
System.out.println("height (in CM):");
int height = scanner.nextInt();
System.out.println("weight:");
double weight = scanner.nextDouble();
System.out.println("ADDRESS - city:");
String city = scanner.next();
System.out.println("ADDRESS - zipCode:");
String zipCode = scanner.next();
System.out.println("ADDRESS - street:");
String street = scanner.next();
System.out.println("ADDRESS - home number:");
int homeNumber = scanner.nextInt();
Person person = new Person();
person.setName(name);
person.setSurname(surname);
person.setAge(age);
person.setWeight(weight);
person.setHeight(height);
Address address = new Address(city, zipCode, street, homeNumber);
person.setAddress(address);
personService.add(person);
System.out.println("Person added to the base with id: " + person.getId());
}
【问题讨论】:
标签: java exception try-catch java.util.scanner