1

次の for ループを拡張 for ループに変換しようとしています

        for(int i=0; i< vowels.length; i++){
            if(vowels[i] == Character.toLowerCase(c)){
                return true;
            }
        }
        return false;

これは私が得たものですが、演算子が引数の型char、booleanに対して未定義であるため、i == Character.isLetter(c)下線が引かれています。==ここで何が問題なのですか?

        for(char i: vowels){
            if(i == Character.isLetter(c)){
                return true;
            }
        }
        return false;
4

2 に答える 2

2

Character.isLetter(c)返品boolean不可charbooleanとは比較できませんchar

以下のようなことをする必要があるかもしれません:

 for(char i: vowels){
          boolean isChar = Character.isLetter(c);
           if(isChar){
            if(i ==c){
                return true;
            }
         }
        }

編集: コメントの後: コードは次のようになります。

for(char i: vowels){
        if(i == Character.toLowerCase(c)){
            return true;
        }
    }

注: コードは手で入力したため、構文エラーが発生する場合があります。

于 2012-11-07T16:05:19.710 に答える
0

あなたが意味したに違いない

for (char v: vowels){
    if (Character.isLetter(v)) {
        return true;
    }
}
return false;

現在、acharをチェックのboolean結果と比較しています。isLetter

v(インデックスではなく母音であることを強調するために、変数名を に変更しました。)

于 2012-11-07T16:06:45.567 に答える