Java 使用扫描仪的用户输入调用对象?

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);

我正在尝试创建一个读卡器系统。在主方法中创建了多个读卡器对象,并将帐户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);
    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);