2017-08-12 11 views
-6

は、私はこのような方法であれば条件で何かを返したい場合:戻り何か条件

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

すべての可能なコードパスが値を返さなければならない答えます。この場合、条件が満たされていない場合は何も返されません。何かを返す最終的な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

アップヴォート。彼が何を言っているのか全く分からなかった –

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条件の1つが一致すると、自動的にコントロールが返され、残りのコードは実行されません。しかし、if条件のどれも一致しない場合、ではなく、はifまたはelse-ifの本文を入力して、最後のreturn文が実行されます。したがって、そのreturn文のELSEは実際には必要ありません。

関連する問題