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

アイテムがそこにない場合に何が起こるかを処理するには、coode を追加する必要があることに注意してください。

于 2012-12-05T06:38:03.727 に答える