2016-10-04 9 views
-4

このメソッドは、指定されたインデックスの項目を返す必要があります。インデックスが無効な場合は例外をスローします。指定されたインデックスにアイテムがある場合、見つかったアイテムのインデックスも返す必要があります。見つからない場合は、アイテムが配列にない場合は-1を返します。順序付き配列リストのget(int index)メソッドの実装方法

これは私がこれまでにやっていることです:

public T get(int index){ 
     int num=-1; 
     if(index<0 || index>numItems){ 
     throw new ArrayIndexOutOfBoundsException("Index is out of bounds: " + index); 
     } 
     else 
     return sortedArray[index]; 
} 
+0

要件とコードを掲載しましたが、質問はありません。具体的な質問は何ですか?あなたのコードに何が問題なのですか?それはコンパイルされていますか?走っていない?おかしい? –

+0

これは正しく表示されません: 'return index;'このインデックスに対応する項目を代わりに返しませんか? 'sortedArray [index]'? –

+0

'return sortedArray [index];'の後には何も実行されません。 – Gavin

答えて

0

私はあなたが機能の基本的なルールを誤解していると思います。彼らは1つだけを返すことができます。 Tintを返そうとしているようです。これはあなたが試みている方法では不可能です。あなたの要件はあまり意味がありません。あなたがインデックスを取得しているように聞こえて、インデックスでアイテムを返すだけです(これは簡単に[ ]オペレータで行うことができます)が、見つかったアイテムのインデックスを返すとしますか?見つかった項目は、関数に渡すインデックスにあります。

+0

メソッドは、指定されたインデックスでアイテムを返す必要があります。そのインデックスにアイテムがある場合は、インデックス番号も返す必要があります。そうでない場合、-1を返すはずです@ Gavin – FredPeter

+0

インデックスが既に与えられている場合、アイテムのインデックスを返すのはなぜですか? – Gavin

+0

*メソッドは項目*を返す必要があります。したがって、あなたのメソッドもインデックス番号*を返すことはできません。そして、あなたの方法を呼んだ誰かがインデックスを与えました、彼はすでにインデックスを知っています、なぜあなたは再びそれを返すべきですか? – RRTW

関連する問題