2015年6月4日 星期四

數字推敲

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Random;
class n_puzzle implements ActionListener
{
JButton jbnButton[]=new JButton[25];
JFrame jtfMainFrame = new JFrame("愛翹課");
JPanel jplPanel = new JPanel();
public static void main(String[] args)
{
new n_puzzle();
JOptionPane.showMessageDialog(null,"歡迎來玩數字推盤,將推盤解成以下答案表示成功哦^^n '147'n '258'n '36 '");}
public n_puzzle(){
jtfMainFrame.setSize(450, 450);
String array[]={" ","1","2","3","4","5","6","7","8"};
String tmp;
Random ran = new Random();
//使用GridLayout在Panel裡面切出3x3的格子,使按鈕排整齊
jplPanel.setLayout(new GridLayout(3,3));
//以下將方塊上的數字打亂(使用洗牌演算法產生不重複亂數)
//詳細演算法可參考以下文章:
//http://blog.xuite.net/kk7941717/blog/315695464
for(int i=0;i<9;i++){
jbnButton[i]=new JButton();
int myrandom=ran.nextInt(9-i);
tmp = array[8-i];
array[8-i]=array[myrandom];
array[myrandom] = tmp;
jbnButton[i].setText(""+array[8-i]);
jbnButton[i].setActionCommand(""+array[8-i]);
jbnButton[i].addActionListener(this);
jplPanel.add(jbnButton[i]);
}
jtfMainFrame.getContentPane().add(jplPanel, BorderLayout.CENTER);
//把Panel加進去Fram
jtfMainFrame.setVisible(true); //讓Fram顯示出來
}
 
public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();
String late,slate="";
int ilate=0;

//檢驗按下去為哪一顆按鈕
for(int i=0;i<9;i++){
if(jbnButton[i]==e.getSource())
{
ilate=i;
//JOptionPane.showMessageDialog(null,jbnButton[i].getText()+" "+i);
}}
//當知道按下去按鈕是哪一顆之後,便須判斷其周圍的按鈕
//確認空白按鈕(上下左右)周圍,則按下去的按鈕數字與空白按鈕互換
//以下為判斷的程式碼
if(ilate>=3&&ilate<=8){
if(" ".equals(jbnButton[ilate-3].getText()))
{
late=jbnButton[ilate].getText();
jbnButton[ilate].setText(jbnButton[ilate-3].getText());
jbnButton[ilate-3].setText(late);
}}
if(ilate<=5&&ilate>=0){
if(" ".equals(jbnButton[ilate+3].getText()))
{
late=jbnButton[ilate].getText();
jbnButton[ilate].setText(jbnButton[ilate+3].getText());
jbnButton[ilate+3].setText(late);
}}

if(ilate<8&&ilate>=0){
if(" ".equals(jbnButton[ilate+1].getText()))
{if((ilate%3)!=2){
late=jbnButton[ilate].getText();
jbnButton[ilate].setText(jbnButton[ilate+1].getText());
jbnButton[ilate+1].setText(late);
}}}

if(ilate>=1&&ilate<=8){
if(" ".equals(jbnButton[ilate-1].getText()))
{if((ilate%3)!=0){
late=jbnButton[ilate].getText();
jbnButton[ilate].setText(jbnButton[ilate-1].getText());
jbnButton[ilate-1].setText(late);
}}}
//以下為破關檢驗的程式碼
//當按鈕排列成如下圖所示,則跳出MsgBox顯示破關成功!!
for(int m=0;m<9;m++)
{
slate+=jbnButton[m].getText(); if("14725836 ".equals(slate)){JOptionPane.showMessageDialog(null,"恭喜你成功");}}System.out.println("'"+slate+"'");}}

2015年5月8日 星期五

顯示選取數字

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class button implements ActionListener
{
public static void main(String[] args)
{new button();}
public button(){
JButton jbnButton[]=new JButton[17];
JFrame jtfMainFrame = new JFrame("愛翹課");
jtfMainFrame.setSize(450, 450);
JPanel jplPanel = new JPanel();
//使用GridLayout在Panel裡面切出4x4的格子,使按鈕排整齊
jplPanel.setLayout(new GridLayout(4,4));
for(int i=1;i<17;i++){
jbnButton[i]=new JButton();
jbnButton[i].setSize(50, 50);
jbnButton[i].setText(Integer.toString(i));
jbnButton[i].setActionCommand(""+i);
jbnButton[i].addActionListener(this);
jplPanel.add(jbnButton[i]);
}
jtfMainFrame.getContentPane().add(jplPanel, BorderLayout.CENTER);
//把Panel加進去Fram
jtfMainFrame.setVisible(true); //讓Fram顯示出來
}

public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();JOptionPane.showMessageDialog(null,"此數字為"+cmd); }
}

不重複陣列

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

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

2015年5月7日 星期四

顯示資料

import java.net.*;

public class TestInet1 {
  public static void main(String argv[]) 
  {
    try {
      InetAddress myip = InetAddress.getLocalHost();

      System.out.println(myip.getHostName());
      System.out.println(myip.getHostAddress());
    } catch (UnknownHostException e) {
      System.out.println("Error: unable to resolve localhost");
    }
  }
}

2015年3月19日 星期四

顯示1~10(基本語法)

cd (位置)
javac XXX.java 編譯
java Test 執行





class Test
{
public static void main(String[] args)
{
System.out.println("1");
System.out.println("2");
System.out.println("3");
System.out.println("4");
System.out.println("5");
System.out.println("6");
System.out.println("7");
System.out.println("8");
System.out.println("9");
System.out.println("10");




}
}