0

要素がリストにあるインデックス整数を返す myIndexOf() メソッドを作成しようとしています。例: List = Mark Bob Sam; myIndexOf(Bob) を呼び出します。は 1 を返します。しかし、正しい変数を返すメソッドを取得できず、何が間違っているのかよくわかりません。これは私がこれまでに持っているものです。助けてくれてありがとう!

  public int myIndexOf(T element) {


    for(int i = 0; i< rear; i++){

        if(element == list[i]){

            return i;
        }

    }


    return NOT_FOUND;


  }
4

1 に答える 1

0

1 を返している場合は、正しい int を返しています。これは、配列と同様に、リストにはゼロから始まるインデックスがあるためです。それらは位置 0 から開始するため、ボブ = 0、サム = 1、ジョージ = 2、エリック = 3 であり、count() または length() を介しても、それ以外の場合は 4 (要素、これも正しい) が返されます。

1 から始まるリストに基づいて int を返す必要がある場合は、myIndexOf(Element) に +1 を追加するだけです。リストを参照するときにこの int を使用しないでください。Index out of Range エラーが返されるためです。

于 2013-08-12T19:51:50.373 に答える