2017-12-31 115 views
-4

私はRock-Paper-Scissors Javaコードを試してきました。ロックペーパーはさみJavaメソッド

私はブロックされていますが、自分の方法でエラーが多く、なぜ私のint kがそれぞれ間違っているのかわかりません。

import java.util.Scanner; 
import java.util.Random; 

public class chifoumi { 
    public static void main(String[] args) { 
     System.out.println("Bienvenu à CHIFOUMI..."); 
     Scanner sc = new Scanner(System.in); 
     System.out.println("Pierre, feuille, ciseaux?"); 
     System.out.println("Tape 0, 1 où 2"); // 0 : Pierre 
     int joueur = sc.nextInt(); // 1 : Feuille 
            // 2 : Ciseaux 

     int V = jeu(joueur); 
     if (V == 1) 
      System.out.println("Vous avez gagné !"); 
     else if (V == 0) 
      System.out.println("Vous avez perdu... "); 
     else if (V == 2) 
      System.out.println("Egalité ! Recommencez ;)"); 

    } 

    public static int jeu(int x){ 
      Random random = new Random(); 
      int ordi; 
      ordi = random.nextInt(3); 
      if (x == 0 || ordi == 1) 
       int k = 0; 
       return k; 
      if (x == 0 || ordi == 2) 
       int k = 1; 
       return k; 
      if (x == 1 || ordi == 0) 
       int k = 1; 
       return k; 
      if (x == 1 || ordi == 2) 
       int k = 0; 
       return k; 
      if (x == 2 || ordi == 0) 
       int k = 0; 
       return k; 
      if (x == 2 || ordi == 1) 
       int k = 1; 
       return k; 
      if (ordi == x) 
       int k =2; 
       return k; 
    } 
} 

はどうやら、私の方法の中に、私のint k = ...のすべてが間違っている...なぜ把握することはできません。 Javaはインデントベースではないので、フォーム

if (x == 0 || ordi == 1) 
    int k = 0; 
    return k; 

+1

エラーは何ですか? – ThomasEdwin

答えて

3

あなたの方法は、すべての実際

if (x == 0 || ordi == 1) 
    int k = 0; 
return k; 

です。したがって、常に最初のステートメントの後に戻ります。これは、コンパイラが不平を言う理由である到達不能の後のステートメントを意味します。何を書くべきこと

if (x == 0 || ordi == 1) { 
    int k = 0; 
    return k; 
} 

あるいは単純ドロップkとあなただけifに条件付きで実行する1つの文を持っているので、あなたが実際に再び中括弧を省略することができ、その場合には

if (x == 0 || ordi == 1) { 
    return 0; 
} 

を書きます:

if (x == 0 || ordi == 1) 
    return 0; 

jeu方法の最後に追加を必要とすることに注意してくださいまたはthrow somethingコンパイラですべてのifが網羅的であると保証できないため、常にifにヒットします。


あなたは/見つけることがエラーのこれらの基本種類が容易になりたあなたのためのいくつかの自動書式設定-indentingんIDEを使用する必要があります。

+0

本当にありがとう、あなたは本当にそこに私をデバッグ! 私の現在のインデントを確認してください:) – hugoch

+0

@hugochあなたは歓迎です。あなたの問題を解決したら、左上のチェックマークをクリックして答えを受け入れてください。 – luk2302

関連する問題