2012-12-05 71 views
0

下面是代碼:我怎樣才能返回從Java哈希映射數據後,我發現它

class thingsToRent 
{ 
    private static HashMap thingsToRent = new HashMap(); 
    static 
    { 
     thingsToRent.put("V-1", new String("Zumba workout video")); 
     thingsToRent.put("V-2", new String("Pumping Iron video"));  
    } 

    public static String get(String serialEntered) 
    { 

這是我需要返回租賃字符串,如尊巴鍛鍊或舉重,

我該說什麼,我有什麼?

 return ?; 

我試圖返回serialEntered但只是給我的V-1或V-2我

使用掃描儀

} 
} 

class Video extends Thing 
{ 
    public Video(String serialEntered) 
    { 
     super(serialEntered); 
    } 

    public void getDescription(String serialEntered) 
    { 
     String theRentalFound = (String)thingsToRent.get(serialEntered); 
     if (theRentalFound == null) 
    { 
     throw new IllegalArgumentException("Serial Number not found (" + serialEntered + ")"); 
     } 
     else 
     { 
      System.out.println("Video: " + theRentalFound); 
     } 
    } 
} 
+0

好評Rohit :-) – sakthisundar

+0

'return thingsToRent.get(serialEntered);' –

+0

@sakthisundar ..實際上OP是調用'thingToRent'類的'get'方法的巧合,它與他將如何訪問map中的值,該值也被命名爲'thingsToRent'。所以,我感到困惑。 –

回答

1
return thingsToRent.get(serialEntered); 

將成爲進入控制檯目的,但你不需要,因爲你已經在你的代碼中實現了這一目標。

1

首先總是編碼到接口。更改private static HashMap thingsToRent = new HashMap();private static Map thingsToRent = new HashMap();

你的命名約定也是一團糟,改變類名像RentalItems和你的get方法getRentableItem裏面你需要與所提供的密鑰來訪問映射方法:

public static String getRentableItem(String serialEntered) 
{ 
    return thingsToRent.get(serialEntered); 
} 

請注意,如果物品不在那裏,您將需要添加代碼來處理髮生的情況 - 我會爲您決定要做什麼。