我希望用户通过扫描仪提供数据并将其添加到列表中。稍后,我想获取此列表的大小,例如用户名,姓氏。我仍在尝试使用构造函数和异常,现在我想尝试从用户那里放入数据。
这是人员服务,它检查构造函数,并且如果名称少于3个字母而姓氏少于5个字母将抛出异常。
import java.util.ArrayList; import java.util.List; public class HumanService { List<Human> humans; public HumanService() { humans = new ArrayList<>(); } public void addHuman(String name, String lastName) throws HumanNameWrongFormat, HumanLastNameWrongFormat { if(HumanValidator.humanValidatorName(name) && HumanValidator.humanValidatorLastName(lastName)) { Human human = new Human(sizeOfList(), name, lastName); humans.add(human); } } public int sizeOfList() { return humans.size(); } public Human getHumanByLastName(String lastName) throws HumanNotFoundException { for (Human human : humans) { if (human.getLastName().equals(lastName)) { return human; } } throw new HumanNotFoundException(lastName + " not found"); } public Human getHumanById (Integer id) throws HumanNotFoundException { for (Human human : humans) { if (human.getId().equals(id)) { return human; } } throw new HumanNotFoundException(id + " not found"); } }
我想按用户获取数据以列出。例如。请给我你的名字和姓氏。这是扫描仪的名称和姓氏,将被添加到列表中并进行检查。
这也是我的主班。
public class main {
public static void main(String[] args) throws HumanNotFoundException {
HumanService humanService = new HumanService();
try {
humanService.addHuman("John", "Walker");
humanService.addHuman("Steve", "Williams");
humanService.addHuman("Gregor", "Wroten");
}
catch (HumanNameWrongFormat | HumanLastNameWrongFormat e) {
System.out.println(e.getMessage());
}
System.out.println(humanService.sizeOfList());
try {
humanService.getHumanByLastName("Wroten");
}
catch (HumanNotFoundException e) {
System.out.println(e.getMessage());
}
}
}
我希望用户通过扫描仪提供数据并将其添加到列表中。稍后,我想获取此列表的大小,例如用户名,姓氏。我仍在尝试使用构造函数和...
这里是您可以使用Scanner
获取所有必需的用户名并将其添加到列表中以进行进一步处理的方法
谢谢您的帮助。现在我了解其工作原理。我的人类课堂有所不同,因为我也有ID作为Integer,但是对我来说一切都很清楚。