2015年5月14日 星期四

0515 --- 5*5按按鈕呈現亂數

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class QQ extends JFrame implements ActionListener
{
//static JFrame myfrm=new JFrame("JButton class"); // Java Class JFrame
//static AwtTestEvent myfrm=new AwtTestEvent("JFrame 1 "); // Java Class JFrame
static JTextField tbx1=new JTextField(2); // 建立1文字方塊物件
static JButton buttons[]=new JButton[25];//建立25個JButton
static JLabel  labels[]=new JLabel [10];
public static void main(String args[])
{
QQ myfrm=new QQ();
String numbers[]  =new String[25];
FlowLayout flow=new FlowLayout();
GridLayout grid12= new GridLayout(1,2);
GridLayout grid33= new GridLayout(5,5);
myfrm.setLayout(grid12);
myfrm.setSize(700,700);
JPanel p1 = new JPanel(grid33); //實作  panel 1
for (int i=0;i<25;i++)
{
numbers[i]=String.valueOf(i);
}
for (int i = 0; i < numbers.length; i++)
{
buttons[i] = new JButton(numbers[i]); // create buttons
p1.add(buttons[i], grid33); // 在 panel 1內加入按鈕陣列
buttons[i].addActionListener(myfrm);
}
myfrm.add(p1); // 在視窗myfrm 內加入 panel 1
JPanel p2 = new JPanel(flow); //實作  panel 2

myfrm.add(p2); // 在視窗myfrm 內加入 panel 2

myfrm.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
String stringValue;
int i,ran;
String numbers[]  = new String[25];
String j;
for (i=0;i<25;i++)
{
numbers[i]=String.valueOf(i);
}
//上面迴圈是為了在numbers[ ] 裡面放進0~24的數字
for (i=0; i<=24;i++)
{
ran=(int)(Math.random()*(25-i));   // 產生亂數
buttons[i].setLabel(numbers[ran]);  // 根據亂數,把numbers[ ] 裡面的數字 讓buttons[ ] 標題改變
//以下開始做對調
j=numbers[ran];
numbers[ran]=numbers[25-i-1];
numbers[25-i-1]=j;
}
}
}

2015年5月8日 星期五

0508 --- 按鈕顯示亂數

import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.util.Arrays;

public class homework6
{
  public static void main(String[] args) throws IOException
  {
    JFrame frame = new JFrame("作業GridLayout)");
    GridLayout f1=new GridLayout(4, 13);


    Container c=frame.getContentPane();

    c.setLayout(f1);
 
    int [] num = new int[52]; //宣告一個數字陣列,用來記錄產生過的亂數
    Arrays.fill(num,-1); //將陣列內容全都設為-1
    int i=1;
    do{
      int j=(int)(Math.random()*9);
      if(num[j] == 0) continue; //判斷是否亂數取出的數字是否出現過
      num[j] = 0;//將出現過的數字索引值的陣列內容設為0,代表出現過
      c.add(new JButton(""+j+""));
      i++;
    }while(i<=9);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(300,300);
    frame.setVisible(true);
  }
}