0

Java でのオブジェクト ファースト

BlueJを使った実践入門

仕事はこの本を投げましたが、この演習が私に何を求めているのか理解できません。

演習は...

演習 4.51 getLot を書き直して、特定の数がコレクションのインデックス (number-1) に格納されているロットに依存しないようにします。たとえば、ロット番号 2 が削除された場合、ロット番号 3 はインデックス 2 からインデックス 1 に移動され、すべてのそれ以上のロット番号も 1 つのインデックス位置だけ移動されます。ロットは常にロット番号に従って昇順で保管されていると思われるかもしれません。

    /**
         * Return the lot with the given number. Return null if a lot with this
         * number does not exist.
         *
         * @param lotNumber The number of the lot to return.
         */
        public Lot getLot(int lotNumber) {
            if ((lotNumber >= 1) && (lotNumber < nextLotNumber)) {
                // The number seems to be reasonable.
                Lot selectedLot = lots.get(lotNumber - 1);
                // Include a confidence check to be sure we have the
                // right lot.
                if (selectedLot.getNumber() != lotNumber) {
                    System.out.println("Internal error: Lot number "
                            + selectedLot.getNumber()
                            + " was returned instead of "
                            + lotNumber);
                    // Don't return an invalid lot.
                    selectedLot = null;
                }
                return selectedLot;
            } else {
                System.out.println("Lot number: " + lotNumber
                        + " does not exist.");
                return null;
            }
        }

疑似コードを使用した正しい方向へのヒントは問題ありません。エクササイズが私に何を求めているのか、私は本当に混乱しています。

私はこれについて率直に言います。これはクラスのためのものであり、教師は実際にはほとんど指導なしで本を私たちに手渡しているだけです. ですから、宿題を書いてくれる人を探しているわけではありません。助けが欲しいだけです。私が尋ねているので、私を炎上させないでください。ここはコーディングに関する質問をする場所ですか? いいえ?前もって感謝します。

4

2 に答える 2

0

あなたが提供したコードには、大きな仮定があります。ロット番号iが位置の配列に格納されているという仮定ですi-1。では、それを仮定しないとどうなるでしょうか。ロットiが配列のどこにあるかはわかりません。そのため、唯一の解決策は、配列を調べてロット番号を探すiことです。うまくいけば、それが見つかることを願っています。

于 2013-06-04T05:06:54.430 に答える