如何选择随机数并保存?

时间:2016-04-27 03:22:30

标签: java

当小程序开始时,我正试图制作一对纸牌游戏,面对的是" ****"当按下JButton时,它根据随机拾取的数字放置一个数字,我只想为2张卡提供相同的随机数,每次按下JButton时数字都不会改变但是我不知道#39;确切知道如何做到这一点

import javax.swing.*;
import java.util.Stack;
import java.awt.*;
import java.applet.Applet;
import java.awt.event.*;
import java.util.*;
public class Memorando extends Applet implements ActionListener {
    JButton cartas[];
    JButton juegoNuevo;
    Label marcador;

    public void init(){
        this.setLayout(new BorderLayout());
        this.setBackground(Color.CYAN);
        Font appletFont=new Font("Monospased", Font.BOLD, 20);
        this.setFont(appletFont);
        juegoNuevo=new JButton("Juego nuevo");
        juegoNuevo.addActionListener(this);
        Panel topPanel=new Panel();
        topPanel.add(juegoNuevo);
        this.add(topPanel,"North");
        cartas=new JButton[8];

        Panel panelCentral=new Panel();
        panelCentral.setLayout(new GridLayout(2,4));
        this.add(panelCentral,"Center");
        marcador=new Label("No has ganado aun :(");
        this.add(marcador,"South");
        for(int i=0;i<8;i++){
            cartas[i]=new JButton("*********");
            cartas[i].addActionListener(this);
        cartas[i].setBackground(Color.WHITE);
            panelCentral.add(cartas[i]);
        }
    }


    public void actionPerformed(ActionEvent e) {


        JButton boton=(JButton) e.getSource();
        String[] figuras=new String[8];
        figuras[0]="♥";
        figuras[1]="♣";
        figuras[2]="♠";
        figuras[3]="♦";

        if(boton == juegoNuevo){ 
            for(int i=0;i<8;i++){

            cartas[i].setEnabled(true); cartas[i].setLabel("*********");
                 cartas[i].setBackground(Color.CYAN);
               }

            marcador.setText("Juego nuevo"); 
            juegoNuevo.setEnabled(false);
            return; 

        }
        int random = new Random().nextInt(3)+1;
            if(boton == cartas[0]){
                    cartas[0].setLabel(figuras[random]);
                }
                    if(boton == cartas[1]){
                    int numAleatorio=(int) (Math.random()*4);
                            cartas[1].setLabel(figuras[random]);
                        }
                    if(boton == cartas[2]){
                        int numAleatorio=(int) (Math.random()*4);
                                cartas[2].setLabel(figuras[numAleatorio]);
                            }
                    if(boton == cartas[3]){
                        int numAleatorio=(int) (Math.random()*4);
                                cartas[3].setLabel(figuras[numAleatorio]);
                            }
                    if(boton == cartas[4]){
                        int numAleatorio=(int) (Math.random()*4);
                                cartas[4].setLabel(figuras[numAleatorio]);
                            }
                    if(boton == cartas[5]){
                        int numAleatorio=(int) (Math.random()*4);
                                cartas[5].setLabel(figuras[numAleatorio]);
                            }
                    if(boton == cartas[6]){
                        int numAleatorio=(int) (Math.random()*4);
                                cartas[6].setLabel(figuras[numAleatorio]);
                            }
                    if(boton == cartas[7]){
                        int numAleatorio=(int) (Math.random()*4);
                                cartas[7].setLabel(figuras[numAleatorio]);
                            }
    }
    }

1 个答案:

答案 0 :(得分:1)

正如cricket_007所说,我所解释的是你想要将值存储在一个变量中。在这种情况下,只需使用类似int random = new Random().nextInt(x)+1的代码,其中x是您想要的范围(例如,1到100将是Random.nextInt(100)+1