当小程序开始时,我正试图制作一对纸牌游戏,面对的是" ****"当按下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]);
}
}
}
答案 0 :(得分:1)
正如cricket_007所说,我所解释的是你想要将值存储在一个变量中。在这种情况下,只需使用类似int random = new Random().nextInt(x)+1
的代码,其中x是您想要的范围(例如,1到100将是Random.nextInt(100)+1
)