0

这是代码:

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

我试过 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 );
        }
    }
}
4

2 回答 2

1
return thingsToRent.get(serialEntered); 

将达到目的,但您不需要它,因为您已经在代码中实现了这一点。

于 2012-12-05T06:14:51.367 回答
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);
}

请注意,如果该项目不存在,您将需要添加代码来处理发生的情况 - 我将把它留给您决定要做什么。

于 2012-12-05T06:38:03.727 回答