有人来看看吗QAQA

有人帮我看看这个吗?
这是一个石头剪刀布的小游戏;
但是结果和实际不符合 比如我出剪刀 机器人出布 会显示平手或输等等
中间有很多是布局 其实核心就几句话
大家可以帮我看看吗qaq
package com.rps.swing;

import javax.swing.;
import javax.swing.GroupLayout.
;
import javax.swing.LayoutStyle.;
import javax.swing.border.
;
import java.awt.*;

import java.util.Random;

/**

  • 主界面

  • /
    class MainFrm extends JFrame {
    private JPanel contentPane;
    public int plchoice;
    public String str;

    public int rochoice(){

      Random rd=new Random();
      if(rd.nextInt(99)<=32){
          return 1;
      }else if(rd.nextInt(99)>=66){
          return 3;
      }else{
          return 2;
      }
    

    }

    JButton rock = new JButton("石头");
    JButton scis = new JButton("剪刀");
    JButton paper = new JButton("布");

    public int win(int x,int y){

      if((x==1)&&(y==3)){
          return 3;
      }else if((x==3)&(y==1)){
          return 3;
      }else{
          if(x>y){
              return y;
          }else {
              return x;
          }
      }
    

    }

    public String run(){

      int t=win(plchoice,rochoice());
      if(plchoice==rochoice()){
          str="打成平手了哦。"+String.valueOf(plchoice)+String.valueOf(rochoice());
      }else{
          if(plchoice==t){
              str="恭喜您获得胜利!"+String.valueOf(plchoice)+String.valueOf(rochoice());
          }else{
              str="失败也不要气馁哦!"+String.valueOf(plchoice)+String.valueOf(rochoice());
          }
      }
      return str;
    

    }

    public MainFrm(){

      setResizable(false);
      setVisible(true);
      setTitle("石头剪刀布");
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setBounds(100, 100, 770, 707);
      contentPane = new JPanel();
      contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
      setContentPane(contentPane);
    
      //label
      JLabel label = new JLabel("石头剪刀布");
      label.setFont(new Font("幼圆", Font.BOLD, 52));
    
      //label1
      JLabel lb1 = new JLabel("您的手势:");
      lb1.setFont(new Font("宋体", Font.BOLD, 30));
    
      //label2
      JLabel lb2 = new JLabel("机器人的手势:");
      lb2.setFont(new Font("宋体", Font.BOLD, 30));
    
      //label3
      JLabel lb3 = new JLabel("VS");
      lb3.setFont(new Font("方正姚体", Font.BOLD, 50));
    
      //图片label1
      JLabel lbpic1 = new JLabel(new ImageIcon(MainFrm.class.getResource("/com/rps/swing/lbnull.jpg")));
    
      //图片label2
      JLabel lbpic2 = new JLabel(new ImageIcon(MainFrm.class.getResource("/com/rps/swing/lbnull.jpg")));
    
      //展示结果
      JTextField txt = new JTextField(10);
      txt.setFont(new Font("华文新魏", Font.PLAIN, 40));
    
      //Button
      rock.setFont(new Font("隶书", Font.BOLD, 40));
      scis.setFont(new Font("隶书", Font.BOLD, 40));
      paper.setFont(new Font("隶书", Font.BOLD, 40));
    
      GroupLayout gl_contentPane = new GroupLayout(contentPane);
      gl_contentPane.setHorizontalGroup(
          gl_contentPane.createParallelGroup(Alignment.LEADING)
              .addGroup(gl_contentPane.createSequentialGroup()
                  .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
                      .addGroup(gl_contentPane.createSequentialGroup()
                          .addContainerGap(56, Short.MAX_VALUE)
                          .addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING)
                              .addGroup(gl_contentPane.createSequentialGroup()
                                  .addComponent(lbpic1, GroupLayout.PREFERRED_SIZE, 236, GroupLayout.PREFERRED_SIZE)
                                  .addGap(47)
                                  .addComponent(lb3)
                                  .addGap(49)
                                  .addComponent(lbpic2, GroupLayout.PREFERRED_SIZE, 244, GroupLayout.PREFERRED_SIZE)
                                  .addGap(21))
                              .addGroup(gl_contentPane.createSequentialGroup()
                                  .addComponent(rock, GroupLayout.PREFERRED_SIZE, 144, GroupLayout.PREFERRED_SIZE)
                                  .addGap(110)
                                  .addComponent(scis, GroupLayout.PREFERRED_SIZE, 132, GroupLayout.PREFERRED_SIZE)
                                  .addGap(111)
                                  .addComponent(paper, GroupLayout.PREFERRED_SIZE, 126, GroupLayout.PREFERRED_SIZE)
                                  .addGap(35))))
                      .addGroup(gl_contentPane.createSequentialGroup()
                          .addGap(77)
                          .addComponent(lb1, GroupLayout.PREFERRED_SIZE, 170, GroupLayout.PREFERRED_SIZE)
                          .addPreferredGap(ComponentPlacement.RELATED, 239, Short.MAX_VALUE)
                          .addComponent(lb2)
                          .addGap(9)))
                  .addGap(32))
              .addGroup(gl_contentPane.createSequentialGroup()
                  .addGap(157)
                  .addComponent(txt, GroupLayout.PREFERRED_SIZE, 427, GroupLayout.PREFERRED_SIZE)
                  .addContainerGap(162, Short.MAX_VALUE))
              .addGroup(gl_contentPane.createSequentialGroup()
                  .addGap(233)
                  .addComponent(label)
                  .addContainerGap(245, Short.MAX_VALUE))
      );
      gl_contentPane.setVerticalGroup(
          gl_contentPane.createParallelGroup(Alignment.LEADING)
              .addGroup(gl_contentPane.createSequentialGroup()
                  .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
                      .addGroup(gl_contentPane.createSequentialGroup()
                          .addContainerGap(138, Short.MAX_VALUE)
                          .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
                              .addComponent(lb1, GroupLayout.PREFERRED_SIZE, 51, GroupLayout.PREFERRED_SIZE)
                              .addComponent(lb2, GroupLayout.PREFERRED_SIZE, 51, GroupLayout.PREFERRED_SIZE))
                          .addGap(31)
                          .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING, false)
                              .addComponent(lbpic2, 0, 0, Short.MAX_VALUE)
                              .addComponent(lbpic1, GroupLayout.PREFERRED_SIZE, 241, Short.MAX_VALUE))
                          .addGap(18))
                      .addGroup(gl_contentPane.createSequentialGroup()
                          .addGap(57)
                          .addComponent(label, GroupLayout.PREFERRED_SIZE, 54, GroupLayout.PREFERRED_SIZE)
                          .addGap(188)
                          .addComponent(lb3)
                          .addGap(122)))
                  .addComponent(txt, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                  .addGap(30)
                  .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
                      .addComponent(rock)
                      .addComponent(paper)
                      .addComponent(scis, GroupLayout.PREFERRED_SIZE, 55, GroupLayout.PREFERRED_SIZE))
                  .addContainerGap(48, Short.MAX_VALUE))
      );
      contentPane.setLayout(gl_contentPane);
      rock.addActionListener(e -> {
          plchoice=1;
          run();
          lbpic1.setIcon(new ImageIcon(MainFrm.class.getResource("/com/rps/swing/1.jpg")));
          txt.setText(str);
          lbpic2.setIcon(new ImageIcon(MainFrm.class.getResource("/com/rps/swing/"+String.valueOf(rochoice())+".jpg")));
      });
      scis.addActionListener(e -> {
          plchoice=2;
          run();
          lbpic1.setIcon(new ImageIcon(MainFrm.class.getResource("/com/rps/swing/2.jpg")));
          txt.setText(str);
          lbpic2.setIcon(new ImageIcon(MainFrm.class.getResource("/com/rps/swing/"+String.valueOf(rochoice())+".jpg")));
      });
      paper.addActionListener(e -> {
          plchoice=3;
          run();
          lbpic1.setIcon(new ImageIcon(MainFrm.class.getResource("/com/rps/swing/3.jpg")));
          txt.setText(str);
          lbpic2.setIcon(new ImageIcon(MainFrm.class.getResource("/com/rps/swing/"+String.valueOf(rochoice())+".jpg")));
      });
    

    }

你win的代码写错了
return x,y,3是想干什么?
不是1代表你赢,2代表电脑赢,3代表平手吗
x是个变量,你咋知道会return个什么玩意,那不变成出锤子就赢,出布就输,这跟出什么不应该有关系,只应该和x与y的关系有关系才对
其实就这样就对了:
if(x==y+1 || x+2==y)
{
return 1;//你赢
}
else if(x==y)
{
return 3;//平手
}
else
{
return 2;//电脑赢
}
归根结底,是你没理解return的到底是个什么东西
你把x和y理解成玩家和电脑两个对象,return谁就是谁赢
但是x和y并不是对象,只不过是锤子剪刀布的其中一种状态
还有,x==1&&y==3,x==3&&y==1,两种截然相反的状态,都返回3,你是认真的吗,这不管把return理解成什么,都说不过去吧