2012-11-07 35 views
1

我想以下for循環,轉換爲增強的for循環寫一個Java中

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

這是我得到了循環增強,但我得到了i == Character.isLetter(c)強調,由於運營商==是未定義參數類型(s)char,boolean。這裏有什麼問題?

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

爲什麼你改變'toLowerCase'到'isLetter'? –

+0

好吧,我注意到它應該是'我== Character.toLowerCase(c)' – user133466

+0

@lc。我的壞....... – user133466

回答

2

Character.isLetter(c)回報booleanchar。你不能比較booleanchar

你可能需要做類似如下:

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; 
     } 
    } 

注:手工鍵入的代碼,有可能是語法錯誤。

0

您一定意味

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

現在,你要比較一個charbooleanisLetter檢查所致。

(我改變了變量名v強調的是,這是一個元音,而不是指數。)