原因同じ名前の複数のオブジェクトを有することに誤りがないように、どのように私はこのコードを向上させることができますか?

RELL:

私は、テキストベースのゲームを作りたい、と私はそれは、彼らが操縦しますどのような船プレイヤー選ぶようにしたいです。彼らは船を選ぶ後に続いて、私は後に持っているものは何でもコードの他のすべてのプレイヤー固有船と同じオブジェクト名を参照します。

私は複数のGoogle検索を試してみましたが、何も助けていないようにみえます。これは私が作るしようとするというのが私の最初のゲームである、と私は何をすべきかに関係なく、私は、この問題を修正するように見えることはできません

//Ignore all the ship.setupShip stuff that isnt causing me an issue

switch (shipSelector) {
            case 1:
                Frigate ship = new Frigate();
                System.out.println("Give your ship a name!");
                String shipNamer = keyboard.nextLine();
                ship.setupShip("Frigate", shipNamer);
                break;
            case 2:
                Shuttle ship = new Shuttle();
                System.out.println("Give your ship a name!");
                String shipNamer = keyboard.nextLine();
                ship.setupShip("Frigate", shipNamer);
                break;
            case 3:
                Cruiser ship = new Cruiser();
                System.out.println("Give your ship a name!");
                String shipNamer = keyboard.nextLine();
                ship.setupShip("Frigate", shipNamer);
                break;
            default:
                break;
        }

ゲームの基本的な部分は船の特定のタイプを必要としないので、私はすべてのプレーヤーの船のための1つの名前の参照を持つことができることを私はそれがそうなりたいです。

私が得る唯一のエラーは、次のとおりです。

Error:(49, 25) java: variable ship is already defined in method main(java.lang.String[])
ジャック:

可変船はすでにこのように、定義されています。

switch (shipSelector) {
            case 1:
                Frigate ship1 = new Frigate();
                System.out.println("Give your ship a name!");
                String shipNamer = keyboard.nextLine();
                ship1.setupShip("Frigate", shipNamer);
                break;
            case 2:
                Shuttle ship2 = new Shuttle();
                System.out.println("Give your ship a name!");
                String shipNamer = keyboard.nextLine();
                ship2.setupShip("Frigate", shipNamer);
                break;
            case 3:
                Cruiser ship3 = new Cruiser();
                System.out.println("Give your ship a name!");
                String shipNamer = keyboard.nextLine();
                ship3.setupShip("Frigate", shipNamer);
                break;
            default:
                break;
        }

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=281915&siteId=1