2012-12-05 35 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); 
} 

请注意,如果物品不在那里,您将需要添加代码来处理发生的情况 - 我会为您决定要做什么。