2015-09-12 34 views
1

我正試圖創建一個讀卡器系統。有在main方法傳遞給它的帳戶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();

這是可能使用掃描儀?

+0

你的意思是:if(「r1」.equals(Choice))r1.verifyInfo();'? – alfasin

+0

我的意思是如果我爲第一個掃描儀輸入鍵入「r1」,我希望能夠用該輸入調用r1對象。 – CodingNinjaInTraining

+0

如果你只有兩個閱讀器 - 使用散列表是一個矯枉過正。一個簡單的if/else將會訣竅。 – alfasin

回答

2

給名稱爲Reader S和把它們放在一個HashMap

HashMap<String, Reader> readers = new HashMap<>(); 
readers.put("r1", new Reader("1234")); 
readers.put("r2", new Reader("4321")); 

然後,你可以根據你給他們的名稱檢索它們(在這種情況下"r1""r2"):

String name = scanner.nextLine(); 
Reader r = readers.get(name);