1

ユーザーが指定した名前を配列で検索し、配列内のその位置を返すメソッドを作成しようとしています。名前が見つからない場合は -1 です。私はそれを持っていると思っていましたが、「すべてのコードパスが値を返すわけではありません」というエラーが表示されます。

とにかく、ここにコードがありますが、誰がエラーを投げているのか教えてもらえますか?

    static int FindStudent()//search for student name
    {
        while (z < NameArray.Length)
        {
            if (name == NameArray[z])
            {
                return z;
            }//end if statement
            else
            {
                z++;
            }//end else statement
        }//end while loop
        if (z==5)
        {
            return -1;
        }//end student not found
    }//end FindStudent method
4

1 に答える 1

3

最後の if ステートメントを削除します。あなたのコードは現在、配列に正確に 4 つの項目があり、どれも一致しない場合にのみ -1 を返します。さらに言えば、else も削除できます。上記の if が返されるため、else が暗示されます。

static int FindStudent()//search for student name
{
    while (z < NameArray.Length)
    {
        if (name == NameArray[z])
        {
            return z;
        }
        z++;
    }
    return -1;// student not found
}
于 2012-10-30T23:52:17.480 に答える