-2

オブジェクトの配列が渡され、配列に少なくとも1つの空のオブジェクトが含まれている場合にtrueを返す静的ブールメソッドを作成しようとしています。

これは私のコードですが、コンパイルエラーがあると言って受け入れていません。

public static boolean anyEmptyObject(object[] objects){
for(int k = 0;k<object.length; k++){
        if (objects[k].getEmpty()==true){
          return true;}
      else {return false;}
}
}

(getEmptyはすでに宣言されたメソッドであり、オブジェクトが空かどうかを返します)

それが大丈夫だと思われるので、私のエラーがどこにあるのかわかりませんか?私のブラケットでしょうか?

エラーはただです

The system has detected compilation errors. This could be caused by:
Missing semicolon ; at the end of a statement.
Unclosed braces {}.
Unclosed parentheses ().
Unterminated string literals "".
Invalid method signature.
Missing return statement.
Redeclared variable or data member.
etc.
4

3 に答える 3

2

object.lengthループの代わりに配置したように見えます。大文字のOである必要がありobjects.lengthます。forObject[] objects

また、戻った場合、ループはほぼ終了します。これはあなたが望むものではありません。

覚えておいてください:あなたがそれを置くならば、;それはそれが行の終わりであることを意味します。最後の2つの後、インデントで角かっこが失われます;

 public static boolean anyEmptyObject(Object[] objects){
        for(int k = 0;k<objects.length; k++){
            if (objects[k].equals(null)){
                return true;
            }
        }
        return false;
    }

これは配列をループし、trueを返してもnullにヒットした場合、nullオブジェクトにヒットせずに配列全体を通過した場合は、forループ全体を実行し、returnfalseステートメントに進みます。この配列内にnullオブジェクトはありません。

于 2013-03-26T02:50:55.263 に答える
1

配列内のオブジェクトのタイプは何ですか?以下のようにメンバーメソッドを呼び出す前に、最初にオブジェクトをキャストする必要があります

if (((YouClass)objects[k]).getEmpty()==true)
于 2013-03-26T02:53:18.910 に答える
0

2つのエラーが表示されます(コンパイルエラーを注意深く読むことをお勧めします-それらはしばしば役に立ちます)

  1. ループ条件はオンobjectsである必要があります。object

  2. メソッドがreturnステートメントに到達することは保証されていません(コンパイラーは、ユーザーが常にループに入っているかどうかを知りません)。さらに、ロジックが正しくありません。パーツをループの外に移動するreturn falseと、論理的にも意味的にも正しくなります。

また、java.lang.Object型のオブジェクトをループする場合は、それらにgetEmpty()メソッドがあることを期待しないでください。

于 2013-03-26T02:53:01.840 に答える