2011-04-22

2011/04/22

 random不重複



// AWT, JButton類別

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class swingtest1random extends JFrame  implements ActionListener
{


static JButton bt1=new JButton("RUN"); 
static JTextField tf1=new JTextField("1");
static JLabel lb[]=new JLabel[25];
static JButton bt[]=new JButton[25];
String tmp;
String numbers[]  = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22","23","24"};

public static void main(String args[])
{
swingtest1random fm=new swingtest1random();
GridLayout gl= new GridLayout(5,5);
JPanel p1 = new JPanel(gl);
JPanel p2 = new JPanel(gl);
JPanel p3 = new JPanel(gl);
String numbers[]  = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22","23","24"};
JButton buttons[]=new JButton[25];
fm.setLayout(gl);
fm.setSize(300,225);
fm.add(p1);
fm.add(p2);
fm.add(p3);

for (int i = 0; i < 25; i++)
{
bt[i] = new JButton(numbers[i]);
p1.add(bt[i], gl);
}
fm.setVisible(true);


p2.add(tf1, gl);
p2.add(bt1, gl);


for (int i = 0; i < numbers.length; i++)
{
lb[i] = new JLabel();
p3.add(lb[i], gl);
}
fm.setVisible(true);


bt1.addActionListener(fm);


}

public void actionPerformed(ActionEvent e)
{
//String s1;
//s1=tf1.getText();
//int i1;
//i1 = Integer.parseInt(s1);


for (int i = 0; i < 25; i++)
{
int j=24-i;
int r1=(int) (Math.random()*(j+1));
tmp=numbers[j];
numbers[j]=numbers[r1];
numbers[r1]=tmp;
}

for (int i = 0; i < 25; i++)
{
System.out.println(numbers[i]);
bt[i].setLabel(numbers[i]);
}
/*
for (int i = 0; i < 9; i++)
{

int r1=(int) (Math.random()*9);
//int r2=(int) (Math.random()*9);
System.out.println(r1);
String s1=Integer.toString(r1);
bt[i].setText(s1);
//lb[r1].setText(s1);

}
*/

}


}



==================================================================

輸入100內數字從其中挑25個數
// AWT, JButton類別

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class swingtest1random extends JFrame  implements ActionListener
{


static JButton bt1=new JButton("RUN"); 
static JTextField tf1=new JTextField("1");
static JLabel lb[]=new JLabel[25];
static JButton bt[]=new JButton[25];
String tmp;


public static void main(String args[])
{
swingtest1random fm=new swingtest1random();
GridLayout gl= new GridLayout(5,5);
JPanel p1 = new JPanel(gl);
JPanel p2 = new JPanel(gl);
JPanel p3 = new JPanel(gl);
String numbers[]  = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22","23","24"};
JButton buttons[]=new JButton[25];
fm.setLayout(gl);
fm.setSize(300,225);
fm.add(p1);
fm.add(p2);
fm.add(p3);

for (int i = 0; i < 25; i++)
{
bt[i] = new JButton(numbers[i]);
p1.add(bt[i], gl);
}
fm.setVisible(true);


p2.add(tf1, gl);
p2.add(bt1, gl);


for (int i = 0; i < numbers.length; i++)
{
lb[i] = new JLabel();
p3.add(lb[i], gl);
}
fm.setVisible(true);


bt1.addActionListener(fm);


}

public void actionPerformed(ActionEvent e)
{
//String s1;
//s1=tf1.getText();
//int i1;
//i1 = Integer.parseInt(s1);

String numbers[]=new String[101];
for (int i = 0; i <101; i++)
{
numbers[i]=String.valueOf(i);
}
for (int i = 0; i < 25; i++)
{

int j=24-i;
String m1=tf1.getText();
int m2=Integer.parseInt(m1);
int r1=(int) 1+(int)(Math.random()*m2);
tmp=numbers[j];
numbers[j]=numbers[r1];
numbers[r1]=tmp;
}

for (int i = 0; i < 25; i++)
{
System.out.println(numbers[i]);
bt[i].setLabel(numbers[i]);
}
/*
for (int i = 0; i < 9; i++)
{

int r1=(int) (Math.random()*9);
//int r2=(int) (Math.random()*9);
System.out.println(r1);
String s1=Integer.toString(r1);
bt[i].setText(s1);
//lb[r1].setText(s1);

}
*/

}


}

沒有留言:

張貼留言