要求用java做一个石头剪子布的游戏. 这是我现在写的, 请问一下要怎么输出输赢? 我现在这个石头剪刀布后没有任何后续了

public class FirstRPSGame {
public static void main(String args[]) throws Exception {
//Variable declaration
int yourChoice, computerChoice;
String yourInput = "";

  //Welcome screen and show the basic rule to the user
  JOptionPane.showMessageDialog(null, "Welcome to Paper, Scissor and Rock");
  JOptionPane.showMessageDialog(null, "Let me remind you the rule first:\nScissor cuts paper, paper covers rock, and rock breaks scissors.");
  JOptionPane.showMessageDialog(null, "0: Rock\n1: Paper\n2: Scissor");

  //Get your choice
  try {
      yourInput = JOptionPane.showInputDialog("Now tell me your choice!");
      yourChoice = Integer.parseInt(yourInput);
      
      if("0".equals(yourInput) || "1".equals(yourInput) || "2".equals(yourInput)) {
              
      }else {
          throw new MyException("Please enter choice 0-2");
      }
  }
  catch(MyException e) {
      System.out.println(e);
  }             
  
  //computer choice
  computerChoice = (int)(Math.random()*10); 
  computerChoice %= 3; 
  
  //Compare your Choice with computer’s choice and output the result
  //Case I: Both you and computer pick the same choice, then it’s a tie!
  if ("0".equals(yourInput) && "0".equals(computerChoice)){
      JOptionPane.showMessageDialog(null, "It’s a tie!"); 
  }else if("1".equals(yourInput) && "1".equals(computerChoice)) {
      JOptionPane.showMessageDialog(null, "It’s a tie!"); 
  }else if("2".equals(yourInput) && "2".equals(computerChoice)) {
      JOptionPane.showMessageDialog(null, "It’s a tie!"); 
  }

  //Case II: You WIN :)
  if ("0".equals(yourInput) && "2".equals(computerChoice)) {
      JOptionPane.showMessageDialog(null, "You win!");
  }else if("1".equals(yourInput) && "0".equals(computerChoice)){
      JOptionPane.showMessageDialog(null, "You win!");
  }else if("2".equals(yourInput) && "1".equals(computerChoice)) {
      JOptionPane.showMessageDialog(null, "You win!");
  }     
  
  //Case III: You lose :
  if ("0".equals(computerChoice) && "2".equals(yourInput)) {
      JOptionPane.showMessageDialog(null, "You lose!");
  }else if("1".equals(computerChoice) && "0".equals(yourInput)) {
      JOptionPane.showMessageDialog(null, "You lose!");
  }else if("2".equals(computerChoice) && "1".equals(yourInput)) {
      JOptionPane.showMessageDialog(null, "You lose!");
  }

}
}

img


img

computerChoice是int类型,直接用==比较

import javax.swing.*;

public class FirstRPSGame {
    public static void main(String args[]) throws Exception {
//Variable declaration
        int yourChoice, computerChoice;
        String yourInput = "";

        //Welcome screen and show the basic rule to the user
        JOptionPane.showMessageDialog(null, "Welcome to Paper, Scissor and Rock");
        JOptionPane.showMessageDialog(null, "Let me remind you the rule first:\nScissor cuts paper, paper covers rock, and rock breaks scissors.");
        JOptionPane.showMessageDialog(null, "0: Rock\n1: Paper\n2: Scissor");

        //Get your choice
        try {
            yourInput = JOptionPane.showInputDialog("Now tell me your choice!");
            yourChoice = Integer.parseInt(yourInput);
            System.out.println("你的选择:"+yourInput+"  "+yourChoice);
            if("0".equals(yourInput) || "1".equals(yourInput) || "2".equals(yourInput)) {

            }else {
                throw new MyException("Please enter choice 0-2");
            }
        }
        catch(Exception e) {
            System.out.println(e);
        }

        //computer choice
        computerChoice = (int)(Math.random()*10);
        computerChoice %= 3;
        System.out.println(computerChoice);
        if ("0".equals(yourInput) && 0==computerChoice){
            JOptionPane.showMessageDialog(null, "It’s a tie!");
        }else if("1".equals(yourInput) && 1==computerChoice) {
            JOptionPane.showMessageDialog(null, "It’s a tie!");
        }else if("2".equals(yourInput) && 2==computerChoice) {
            JOptionPane.showMessageDialog(null, "It’s a tie!");
        }

        //Case II: You WIN :)
        if ("0".equals(yourInput) && 2==computerChoice) {
            JOptionPane.showMessageDialog(null, "You win!");
        }else if("1".equals(yourInput) && 0==computerChoice){
            JOptionPane.showMessageDialog(null, "You win!");
        }else if("2".equals(yourInput) && 1==computerChoice) {
            JOptionPane.showMessageDialog(null, "You win!");
        }

        //Case III: You lose :
        if (0==computerChoice && "2".equals(yourInput)) {
            JOptionPane.showMessageDialog(null, "You lose!");
        }else if(1==computerChoice && "0".equals(yourInput)) {
            JOptionPane.showMessageDialog(null, "You lose!");
        }else if(2==computerChoice && "1".equals(yourInput)) {
            JOptionPane.showMessageDialog(null, "You lose!");
        }
    }
}

这代码写的异常繁琐。
你应该将字符串换成数字,然后判断

switch(computerChoice-yourInput)
{
case 0:
JOptionPane.showMessageDialog(null, "It’s a tie!");//相等就是平手
break;
case 1:
case -2:
JOptionPane.showMessageDialog(null, "You lose!");//比你的数大1或者小2
break;
case 2:
case -1:
JOptionPane.showMessageDialog(null, "You win!");
break;
}

你的代码问题出在"0".equals(computerChoice),你的computerChoice是个int类型,它根本不和字符串"0"相等

img