2017-08-12 25 views
-6

我想在一個條件,如果在這樣的方法返回的東西:返回Java方法的東西在if條件

public static char Feld(){ 

     if (vertikal == 1 && horizontale == 1) { 
      return Feld11 = Player1; 


     }else if (vertikal == 1 && horizontale == 2) { 
      return Feld12 = Player1; 


     }else if (vertikal == 1 && horizontale == 3) { 
      return Feld13 = Player1; 
} 

但這doesn't工作,我要打電話回她:

public static char Feld(){ 
    return something; 
} 

EDIT1: 現在,它的工作原理我不喜歡它德里克卡普蘭答案

+0

'='是一個賦值運算符,您將Player1分配給Feld11。你想用==代替嗎? –

+0

你是什麼意思的「它不工作」? –

+0

是的,我嘗試將Player1分配給Feld11。 – Yuto

回答

3

所有可能的代碼路徑必須返回一個值。在這種情況下,如果這些if條件都不滿足,則不會返回任何內容。你必須有最後的else返回一些東西。

public static char Feld(){ 
    if (vertical == 1 && horizontal == 1) { 
     return Feld11 = Player1; 
    } else if (vertical == 1 && horizontal == 2) { 
     return Feld12 = Player1; 
    } else if (vertical == 1 && horizontal == 3) { 
     return Feld13 = Player1; 
    } else { 
     return Feld00 = Player1; 
    } 
} 
+0

啊好的,謝謝 – Yuto

+0

Upvote。完全不明白他在說什麼 –

0
public static char Feld(){ 

      if (vertikal == 1 && horizontale == 1) { 
       return Feld11 = Player1; 


      }else if (vertikal == 1 && horizontale == 2) { 
       return Feld12 = Player1; 


      }else if (vertikal == 1 && horizontale == 3) { 
       return Feld13 = Player1; 

      }return default_value; 
    } 

最後的回報必須在那裏,因爲它需要一個返回類型,如果沒有如果條件滿足。但是您不需要其他作爲返回,因爲如果其中一個if條件匹配,則會自動返回帶有該值的控件,並且代碼的其餘部分將不會執行。但是,如果if條件都不匹配,那麼它將而不是進入任何if或else的主體 - 如果因此最後的return語句將被執行。因此,該返回語句的ELSE實際上不是必需的。

相關問題