2015-07-21 76 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