Java 使用扫描仪的用户输入调用对象?
我正在尝试创建一个读卡器系统。在主方法中创建了多个读卡器对象,并将帐户ID传递到其中:Java 使用扫描仪的用户输入调用对象?,java,Java,我正在尝试创建一个读卡器系统。在主方法中创建了多个读卡器对象,并将帐户ID传递到其中: public static void main(String[] args) { private String Choice; private String AccountID; Reader r1= new Reader("1234"); Reader r2= new Reader("4321"); Scanner in = new Scanner(System.in);
public static void main(String[] args) {
private String Choice;
private String AccountID;
Reader r1= new Reader("1234");
Reader r2= new Reader("4321");
Scanner in = new Scanner(System.in);
System.out.println("Pick a card reader to use:");
Choice= in.nextLine();
System.out.println("Enter your account number:");
AccountID = in.nextLine();
}
我想选择一个使用扫描器的阅读器,并能够从中调用如下方法:r1.verifyInfo()
是否可以使用扫描仪进行此操作?为
读取器提供名称,并将其放入HashMap
:
HashMap<String, Reader> readers = new HashMap<>();
readers.put("r1", new Reader("1234"));
readers.put("r2", new Reader("4321"));
你的意思是:if(“r1.equals(Choice))r1.verifyInfo()代码>?我的意思是,如果我为第一个扫描仪输入键入“r1”,我希望能够使用该输入调用r1对象。如果您只有两个读卡器,使用hashmap是一种过度使用。一个简单的if/else就可以了。@alfasin这是真的,但我假设OP发布了一个简化/未完成的示例,最终会有更多的读者。
String name = scanner.nextLine();
Reader r = readers.get(name);