2015-07-21 54 views
-9

我編碼了一個石頭剪刀紙遊戲,但它並沒有顯示我想要它的結果。代碼應該顯示誰贏了比賽,不幸的是它不起作用。編碼石頭剪刀紙遊戲

import javax.swing.JOptionPane; 

public class rsp { 

public static void main(String[] args){ 

    int computer; 
    double random = 0; 
    char comp = ' '; 
    String statement = ""; 

    random = Math.random() * 10; 
    computer = (int) random; 

     switch (computer) 
     { 
      case 1: 
      case 4: 
      case 7: 
       comp = 'r'; // rock 
       break; 
      case 2: 
      case 5: 
      case 8: 
       comp = 's'; // sissors 
       break; 
      case 3: 
      case 6: 
      case 9: 
       comp = 'p'; // paper 
       break; 
      default : statement = "this"; 
     } //end of switch statement 

    String u; 
    u = JOptionPane.showInputDialog("ROCK, SISSORS, PAPER?"); 
    char player = u.toLowerCase().charAt(0); 

     if (computer == 'r' & player == 'r') 
     { 
      statement = ("COMPUTER : ROCK. DRAW"); 
     } 
     if (computer == 'r' & player == 's') 
     { 
      statement = ("COMPUTER : ROCK. LOST"); 
     } 
     if (computer == 'r' & player == 'p') 
     { 
      statement = ("COMPUTER : ROCK. WON"); 
     } 
     if (computer == 's' & player == 'r') 
     { 
      statement = ("COMPUTER : SISSORS. WON"); 
     } 
     if (computer == 's' & player == 's') 
     { 
      statement = ("COMPUTER : SISSORS. DRAW"); 
     } 
     if (computer == 's' & player == 'p') 
     { 
      statement = ("COMPUTER : SISSORS. LOST"); 
     } 
     if (computer == 'p' & player == 'r') 
     { 
      statement = ("COMPUTER : PAPER. LOST"); 
     } 
     if (computer == 'p' & player == 's') 
     { 
      statement = ("COMPUTER : PAPER. WON"); 
     } 
     if (computer == 'p' & player == 'p') 
     { 
      statement = ("COMPUTER : PAPER. DRAW"); 
     } 
      System.out.println (statement); 
    } 
} 
+3

'但它不顯示我想成爲'結果'。請更具體一些。什麼是問題,預期結果和實際結果如何。 – JFPicard

+3

'&'可能不是您實際使用的操作符。 – JJJ

+2

這個開關似乎也是......過度。 – CubeJockey

回答

3

當您選擇計算機的選擇時,將其設置在變量comp中。但是,當您執行if條件時,您會與computer進行比較。

更改if s到

if(comp == 'r' && player == 'r') 

,它應該工作。

+0

非常感謝你,代碼的工作原理 – Han