0
public static void main(String[] args) {
    int [] newArray= new int [4];
    int [] array = {4,5,6,7};
    oddEven(array);

    newArray[0] = array[0]+array[1]+array[2]+array[3];
    newArray[1] = array[0]*array[1]*array[2]*array[3];
}

public static void oddEven(int [] oddEven) {

    for (int i=0; i<oddEven.length; i++) {
        //  Cannot convert from int to boolean
        if (oddEven[i] % 2)

    }
}

ここで管理しようとしていることは無視してください。この for ループで "if" ステートメントを受け入れない理由だけが気になります。私が述べたように、「intからbooleanに変換できません」と書かれています。なぜそう言えると思いますか?

4

1 に答える 1

7

側のその式は、値ifを実現する必要がありboolean ます。そうしないと、Java でコンパイル エラーが発生します。

試す

       if (oddEven[i] % 2 ==0)  {
       }

または(要件に基づく)

       if (oddEven[i] % 2 !=0)  {
       }

言語仕様 # の第 14 章を参照してください。

Expression の型は boolean または Boolean でなければなりません。そうしないと、コンパイル時エラーが発生します。

于 2013-10-14T09:22:37.783 に答える