看板 java 關於我們 聯絡資訊
目前是只有將2個數隨機顯示在JLable上。 求解如何讓這兩個值不重複且num1亂數不能出現10,26這兩個值ꔿ ------------------------------------------------------------- package cc; import java.awt.*; import java.awt.event.*; import java.util.Random; import javax.swing.*; public class cc implements ActionListener { JFrame jf; JLabel jlnum; JLabel jlgift; JLabel jlsign; public static void main(String args[]){ new cc(); } public cc(){ //Frame Setting jf=new JFrame("Random"); jf.setSize(960, 480); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jf.setVisible(true); //Button Setting JButton jb= new JButton("JButton"); jb.addActionListener(this); jb.setSize(60,20); jb.setVisible(true); jb.setText("Click to Generate a number"); //Label Setting //Number1 Label Setting jlnum=new JLabel("Result#"); jlnum.setSize(350, 350); jlnum.setFont(new Font("Consolas", Font.BOLD, 98)); jlnum.setHorizontalAlignment(JLabel.CENTER); jlnum.setVisible(true); //Number2 Label Setting jlgift=new JLabel("Result#"); jlgift.setSize(350, 350); jlgift.setFont(new Font("Consolas", Font.BOLD, 98)); jlgift.setHorizontalAlignment(JLabel.CENTER); jlgift.setVisible(true); //Layout jf.getContentPane().add(BorderLayout.NORTH, jb); jf.getContentPane().add(BorderLayout.WEST, jlnum); jf.getContentPane().add(BorderLayout.EAST, jlgift); } @Override public void actionPerformed(ActionEvent e) { Random num1=new Random(); //A Random Value(No.1) Random num2=new Random(); //A Random Value(NNo.2) int intnum1=num1.nextInt(30)+1; //Convert to Integer< No.1) int intnum2=num2.nextInt(28)+1; //Convert to Integer(No.2) String stringnum1=Integer.toString(intnum1); //Integer Covert to String(No.1) String stringnum2=Integer.toString(intnum2); //Integer Covert to String(No.2) jlnum.setFont(new Font("Consolas", Font.BOLD, 325)); //Set Font Size(No.1) jlnum.setText(stringnum1); //Show the Random Number in the Lable(No.2) jlgift.setFont(new Font("Consolas", Font.BOLD, 325)); //Set Font Size(No.1) jlgift.setText(stringnum2); //Show the Random Number in the Lable(No.2) } } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.34.247.10 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1418574464.A.1BE.html
PttTime: 如果數值不大 我倒是有個笨方法 先把所有的數字放到list 12/16 22:38
PttTime: 再int num = list.remove(random.nextInt(list.size())) 12/16 22:39
obelisk0114: Fisher–Yates shuffle ? 12/17 18:19