Java怎样产生产生相临两个不相同的随机数?
发布网友
发布时间:2023-10-01 16:26
我来回答
共3个回答
热心网友
时间:7小时前
不用线程也行 简单GUI就能够实现package test;import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;public class RandomTest implements ActionListener {
private JFrame frame;
private Container contentPane; private JButton[] btnList = new JButton[4]; public RandomTest() {
frame = new JFrame("");
frame.setBounds(300, 300, 300, 300);
contentPane = frame.getContentPane();
init();
} public void init() {
contentPane.setLayout(new BorderLayout());
JPanel p = new JPanel(new GridLayout(2, 2));
for (int i = 0; i < btnList.length; i++) {
btnList[i] = new JButton();
btnList[i].addActionListener(this);
p.add(btnList[i]);
}
int i = (int) (Math.random() * 4);
btnList[i].setText("hi");
contentPane.add(p, BorderLayout.CENTER);
} public void go() {
frame.setVisible(true);
} public static void main(String[] args) {
(new RandomTest()).go();
} @Override
public void actionPerformed(ActionEvent e) {
for (int i = 0; i < btnList.length; i++) {
if (e.getSource() == btnList[i]) {
btnList[i].setText("");
List<Integer> list = new ArrayList<Integer>();
for(int j=0;j<4;j++)
list.add(j);
list.remove(i);
int x = (int)(Math.random()*3);
x = list.get(x);
btnList[x].setText("hi");
}
}
}
}
热心网友
时间:7小时前
很典型的问题:消费者,生产者模式,这个框是关于线程的。。。LZ可以去看看。。。不过我现在是忘了。。。。
热心网友
时间:7小时前
最好是用线程。休息500毫秒,就会产生两个不相同的随机数了。