2017-12-06 24 views
0

オンラインでいくつかのコースを行ったので、私はJavaに約2ヶ月間興味がありました。私はRock Paper Scissorsのゲームを作成しようとしています。 forループを使用してゲームを5回実行できるようにしたいと思っていますが、問題がループしています。それはゲームを繰り返すのではなく、勝者を宣言し続けますか?ロックペーパーはさみのためのforループの使用ゲームJava

import java.util.Scanner; 
import java.io.*; 

public class Part2 
{ 

    public static void main (String[]args) 
    { 
     Scanner scan = new Scanner(System.in); 

     String userInput1 = " "; 
     char player1Input; 

     String userInput2 = " "; 
     char player2Input; 

     for(int i = 0; i < 5; i++) //Loop for game 
     { 

     System.out.println("Player 1: Please Enter e.g R for Rock:"); 
     System.out.println("R.Rock"); 
     System.out.println("P.Paper"); 
     System.out.println("S.Scissors"); 

     userInput1 = scan.next(); 
     player1Input = userInput1.charAt(0); 


     System.out.println("Player 2: Please Enter e.g S for Scissors"); 
     System.out.println("R.Rock"); 
     System.out.println("P.Paper"); 
     System.out.println("S.Scissors"); 



     userInput2 = scan.next(); 
     player2Input = userInput2.charAt(0); 

     } 





     switch(player1Input) 
     { 
      case 'R': System.out.println ("Player 1:Rock"); 

       switch(player2Input) 
       { 
        case'R' : System.out.println("Player 2:Rock"); 
        System.out.println("The Game Result is Draw"); 
        break; 
        case'P' :System.out.println("Player 2:Paper"); 
        System.out.println("The Game Result is: Player 2 Wins"); 
        break; 
        case'S' :System.out.println("Player 2:Scissors"); 
        System.out.println("The Game Result is: Player 1 Wins"); 
        break; 
        default: System.out.println("Invalid Option"); 
        break; 
       } 
      break; 

      case 'P' : System.out.println ("Player 1:Paper"); 
       switch(player2Input) 
       { 
        case'R' : System.out.println("Player 2:Rock"); 
        System.out.println("The game result is: Player 1 Wins"); 
        break; 
        case'P' :System.out.println("Player 2:Paper"); 
        System.out.println("The game result is: Draw"); 
        break; 
        case'S' :System.out.println("Player 2:Scissors"); 
        System.out.println("The Game Result is: Player 2 Wins2"); 
        break; 
        default: System.out.println("Invalid Option"); 
        break; 
       } 
      break; 

      case 'S' : System.out.println ("Player 1:Scissors"); 
       switch(player2Input) 
       { 
        case'R' : System.out.println("Player 2:Rock"); 
        System.out.println("The Game Result is: Player 2 Wins"); 
        break; 
        case'P' :System.out.println("Player 2:Paper"); 
        System.out.println("The game result is: Player 1 Wins"); 
        break; 
        case'S' :System.out.println("Player 2:Scissors"); 
        System.out.println ("The Game Result is: Draw"); 
        break; 
        default: System.out.println("Invalid Option"); 
        break; 
       } 
      break; 

     } 
    } 
} 

答えて

0

あなたのswitch文は、ループによって実行されるコードの外にある、右のラインplayer2Input = userInput2.charAt(0);後のポイントに移動し、それがループ括弧内に滞在しなければなりません。

0

switchステートメントが範囲外です。つまり、プログラムはどこを検索するのかわからず、すべての目的や目的でプログラムとループが見えません。 forループの後にswitchステートメントの後にブラケットを移動すると、うまく動作するはずです。

0

書き込んだswitch文は、プレイヤーからの最後の入力を評価するだけなので、forループで移動する必要があります。

また、宣言時に変数を初期化することは常に良いことです。

import java.util.Scanner; 
public class Part2 
{ 
    public static void main (String[]args) 
    { 
     Scanner scan = new Scanner(System.in); 

     String userInput1 = ""; 
     char player1Input = ' '; 

     String userInput2 = ""; 
     char player2Input = ' '; 

     for(int i = 0; i < 5; i++) //Loop for game 
     { 
      System.out.println("Player 1: Please Enter e.g R for Rock:"); 
      System.out.println("R.Rock"); 
      System.out.println("P.Paper"); 
      System.out.println("S.Scissors"); 

      userInput1 = scan.next(); 
      player1Input = userInput1.charAt(0); 


      System.out.println("Player 2: Please Enter e.g S for Scissors"); 
      System.out.println("R.Rock"); 
      System.out.println("P.Paper"); 
      System.out.println("S.Scissors"); 



      userInput2 = scan.next(); 
      player2Input = userInput2.charAt(0); 

      switch(player1Input) 
      { 
       case 'R': System.out.println ("Player 1:Rock"); 
        switch(player2Input) 
        { 
         case'R' : 
          System.out.println("Player 2:Rock"); 
          System.out.println("The Game Result is Draw"); 
          break; 
         case'P' : 
          System.out.println("Player 2:Paper"); 
          System.out.println("The Game Result is: Player 2 Wins"); 
          break; 
         case'S' : 
          System.out.println("Player 2:Scissors"); 
          System.out.println("The Game Result is: Player 1 Wins"); 
          break; 
         default: 
          System.out.println("Invalid Option"); 
          break; 
        } 
        break; 

      case 'P' : System.out.println ("Player 1:Paper"); 
       switch(player2Input) 
       { 
        case'R' : 
         System.out.println("Player 2:Rock"); 
         System.out.println("The game result is: Player 1 Wins"); 
         break; 
        case'P' : 
         System.out.println("Player 2:Paper"); 
         System.out.println("The game result is: Draw"); 
         break; 
        case'S' : 
         System.out.println("Player 2:Scissors"); 
         System.out.println("The Game Result is: Player 2 Wins2"); 
         break; 
        default: 
         System.out.println("Invalid Option"); 
         break; 
       } 
       break; 

      case 'S' : 
       System.out.println ("Player 1:Scissors"); 
       switch(player2Input) 
       { 
        case'R' : 
         System.out.println("Player 2:Rock"); 
         System.out.println("The Game Result is: Player 2 Wins"); 
         break; 
        case'P' : 
         System.out.println("Player 2:Paper"); 
         System.out.println("The game result is: Player 1 Wins"); 
         break; 
        case'S' : 
         System.out.println("Player 2:Scissors"); 
         System.out.println ("The Game Result is: Draw"); 
         break; 
        default: 
         System.out.println("Invalid Option"); 
         break; 
       } 
       break; 
      } 
     } 
    } 
} 
関連する問題