顯示具有 JAVA 標籤的文章。 顯示所有文章
顯示具有 JAVA 標籤的文章。 顯示所有文章

2015年3月29日 星期日

猜數字 洗牌法

1.隨機取三個不重複數字
2.先建立一個空間大小為10的陣列,並依順序放入1~10 的數字
3.利用隨機亂數取得陣列,並與第[i]個數字交換
4.利用String.chartAt(i)判斷第i個數字是否一樣。判斷幾A
5.利用String.IndexOf(String.chartAt(i)) 判斷第i個數字是否一樣。判斷幾B


import java.util.Scanner;

public class guess3 {
 private static int num=3;
 private static String Answer;

 public static void main(String argc[])
 {

init();
processGuess();




 }

private static void processGuess() {
// TODO Auto-generated method stub
boolean gotAnswer=true;
String myAnswer;

do
{
Scanner scan=new Scanner(System.in);
myAnswer=scan.next();
gotAnswer=checkAB(myAnswer);
}while (gotAnswer);
System.out.println("You Win ! See You");


}

private static boolean checkAB(String myAnswer) {
int A=0,B=0;
for(int i=0;i<myanswer .length="" else="" i="" if="" myanswer.charat="" myanswer.indexof="" nswer.charat="">=0)
{
B++;
}
}
System.out.println("you got "+A+"A and "+ B+"B" );
if(A==3)
return false;
else
return true;
// TODO Auto-generated method stub

}

private static void init() {
// TODO Auto-generated method stub
Answer=createAnswer();
System.out.println(Answer);
}

private static String createAnswer() {
// TODO Auto-generated method stub
int[] arrA=new int[10];
int rand;
int temp;
StringBuffer sb=new StringBuffer();

for(int i=0;i</myanswer>

2013年4月20日 星期六

Linklist 範例




LinkedList 使用範例


package dispatch;

import java.util.HashMap;
import java.util.LinkedList;
import java.util.Queue;

public class Dispatch {

/**
* @param args
*/
String L[]={"40","39","38","37","26","25","12","11","4","3","10","9","24","23","60","59",
"7","8","22","21","58","57","19","20","53","54","55","56"};
 
String R[]={"41","42","43","44","27","28","29","30","13","14","5","6","15","16","31","32","45","46"
  , "2","1","18","17","33","34","47","48","36","35","52","51","50","49"  
};

LinkedList <String> maps;
public void  process()
{
maps=new LinkedList<>();
HashMap map=new HashMap<>();
for(int i=0;i<L.length;i++)
{
maps.add(L[i]);
}

while (!maps.isEmpty())
{System.out.print(maps.remove());
System.out.print("\t");
}


}


public static void main(String[] args) {
// TODO Auto-generated method stub
new Dispatch().process();

}

}


2013年4月16日 星期二

List 介面使用


import java.util.LinkedList;
import java.util.List;


public class ListExample {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
List list1= new LinkedList<>();
list1.add("abc");
list1.add(new Integer(3));
list1.add(new Boolean(true));
list1.add(new Integer(3));
System.out.print("LinkedList:"+list1);

}

}





2013年1月29日 星期二

淺談setDefaultCloseOperation() 的四個參數


java Swing 開發視窗 , 當你在點下視窗上 X 按鍵時 ,





會關閉視覺化的視窗 ,但如未設定視窗跳出的方法(system.exit) ,所關閉的程序還是會一直存在記憶体中無法消去

此時可以使用此方法 setDefaultCloseOperation(int operation)

在參數(int operation) 中 有四個參數可以選擇, 也可填入相對應的數字 


1.將X退出鍵 設為失效 , 也就是使點擊後無效 , 不起作用。
  setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
 =setDefaultCloseOperation(0);



2.點擊退出時,只是將視覺化的介面(HIDE),實際程序還是在後台執行(記憶体未釋放)
setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE );
 =setDefaultCloseOperation(1);


3.先退出介面等待處理后再釋放記憶体
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOS);
 =setDefaultCloseOperation(2);

4.直接退出介面並釋放記憶体
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 =setDefaultCloseOperation(3);

NetBean 的第一隻程式





  1. 開啟NetBeans
  2. 在IDE環境中選擇FILE> New Project (Ctrl-Shift-N),如下圖所示
  1. 在新專案精靈中,展開JAVA的分類,並選擇Java Application,並選Next,如下圖所示。

  1. 在Name and Location 的精靈頁中,輸入以下設定
  • 在Project Name欄位中,輸入HelloWorldApp
  • 取消Use Dedicated Folder for Storing Libraries的打勾部分
  • 勾選Create Main Class的部分並輸入   helloworldapp.HelloWorldApp.
  • 勾選 Set as Main Project 的部分
  1. 選擇Finish
專案將自動建立並在IDE環境中自動被開啟,您可以參考下面的元件
在Projects 視窗中,可以看到Project的元件的樹狀結構包含source files,您寫程式時會參考到的libraries等。
HelloWorldApp  會在Source 編輯器的視窗中自動被開啟。
在Navigator視窗中,您可以快速的瀏覽所選的類別中的元素
在 Tasks 視窗中列出編譯錯誤,以及關鍵字

Adding Code to the Generated Source File
因您在新專案精靈中將Create Main Class checkbox勾選,IDE將自動幫您產生一個main 類別的骨架,您可以在骨架中藉由下面的程式加入Hello World的訊息
           // TODO code application logic here
           System.out.println("Hello World!");

由File>Save中選擇存檔
檔案看起來會長的如下面的樣子
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package helloworldapp;

/**
*
* @author <your name>
*/
public class HelloWorldApp {

   /**
    * @param args the command line arguments
    */
   public static void main(String[] args) {
           System.out.println("Hello World!");
   }

}

Adding Code to the Generated Source File
IDE會在您存檔時自動compile,您不需要為了執行您的程式而再手動編譯您的專案,要執行程式時您可以選擇Run>Run Main Project(F6)

2013年1月28日 星期一

JAVA 連結 ACCESS 範例



本程式主要透過ODBC連結ACCESS,故須先設計一資料庫MFG,其中Table1 欄位如下


 ODBC 設定如下





主要JAVA 程式碼如下


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Login;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import javax.swing.*;


/**
 *
 * @author jackylin
 */
public class login {        
            Connection Conn;            
            Statement st;
            ResultSet rs;
            JFrame f=new JFrame("Login ");
            JLabel l=new JLabel("User:");
            JTextField t=new JTextField(10);
            JLabel l1=new JLabel("Pass:");
            JTextField t1=new JTextField(10);
            JButton b=new JButton("Login");
            JPanel p=new JPanel();
         
          public login()
        {
                connect();
                frame();
        }
    
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
            new login();            
            System.out.print("Hello db");    
    }

    private void connect() {
        
        try {
                String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
/*你可以使用Class的靜態forName()方法實現動態加載類別
透過java.lang.Class類別的forName()來載入並向DriverManager註冊JDBC
驅動程式(驅動程式會自動透過 DriverManager.registerDriver()方法註冊)*/

                Class.forName(driver);
                String db="jdbc:odbc:db1";
/*要連線資料庫,我們可以從DriverManager要求並取得Connection物件,它代表資
 料庫連線物件*/
                Conn=DriverManager.getConnection(db);
                st=Conn.createStatement();                              
                } catch (ClassNotFoundException | SQLException ex) {
                }       
         }

    private void frame() {
            f.setSize(180,200);            

            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            f.setVisible(true);
            p.add(l);
            p.add(t);
            p.add(l1);
            p.add(t1);
            p.add(b);   
            f.add(p);
             b.addActionListener(
                     new ActionListener()
                     {
                                //實作
         public void actionPerformed(ActionEvent e) {
         String user=t.getText().trim();
         String pass=t.getText().trim();
         String sql="Select * from table1 Where user='"
         +user+"' and password='"+pass+"'"                                                    + ""; 
          try
          { rs=st.executeQuery(sql);  
            int count=0;
            while (rs.next())
            { count++;} 
          if (count==0)                      OptionPane.showMessageDialog(null,"Access denied","Login  Fail",3);                                                                                                       
           }catch(Exception ex) {}                                              
          }                                      
                     );       
}
}

Java 學習筆記~2維陣列變數


class Data
{
    // 宣告x2維陣列
    private  static int x[][]=new int[2][];
    private static double  w[]=new double [2];
    public static void setX(int[][] aX) { x = aX; }
    public static int[][] getX() {  return x;    }   
    public static double[] getW() {return w; }
    public static void setW(double[] aW) {w = aW;   }   
   
}
public class preceptron {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
         //x 為一4x2 陣列
        int x[][]={{0,0},{0,1},{1,0},{1,1}};    
        double w[][]={{0.5,0.5}};      
        int i,j;       
        Data.setX(x);
        for (i=0;i<4;i++)
        {
             for (j=0;j<2;j++)  
                 System.out.print(Data.getX()[i][j]);
                 System.out.println();
        }

   /* Data.setW(w[0]);
    for (j=0;j<2;j++)
    System.out.println(Data.getW()[j]);    */
    }

}