[Java]搜尋演算法-循序搜尋法、二元搜尋法

之前提供過C#版本的搜尋演算法循序搜尋法(Linear/Sequential-Search)二元搜尋法(Binary-Search),現在這是由Java撰寫而成的,整體來講是一樣的。

循序搜尋法

就是直接用迴圈一個個去比對,找到時就跳出。

二元搜尋法

需要先把要搜尋的數列先排序,由小到大,規則是先取前後二索引數,相加除二,也就是取中間數當索引值,然後跟要搜尋的數字做比較,如果一樣就是找到了,如果中間的數比要搜尋的數大,代表要搜尋的數在左邊數列,右邊數列則放棄,相反之,如果中間數比要搜尋的數小,代表要搜尋的數在右邊數列,左邊數列則放棄

執行結果如下:

結果的第一次的搜尋是循序搜尋,第二次是二元搜尋

javaSearch演算法1.png

第二個範例

javaSearch演算法2.png

Read More

[JSP]Servlet網站人數圖形計數器

計數器可以計算有多少人來瀏覽網頁,主要是利用java Servlet來產生圖形串流,輸出至使用者端,一般的capatch也可以使用此原理來製做。

程式可利用參數的傳遞來改變計數器的樣式,像是背景、前景、字型大小、字型顏色,還可以指定要存放的檔案名稱來區分想要計數的網頁,大概的結果樣式如下:

左邊是有更改Session及存取檔案名稱,右邊是預設的,二個可以同時執行各自計算數量

參數是cname=檔案名稱,sname=Session參數

結果.png

可以看到檔案被自動建立了

CountTxt.png

Read More

[Java]JDBC連線操作HSQLDB資料庫的範例

hsqldb是個不用安裝也不用啟動的database資料庫,在openoffice裡的base資料庫也是使用此種資料庫,只是再把檔案入放進一個壓縮檔裡而已,所以如果想在openoffice裡操作base資料庫,需要先把檔案解開(在程式裡),再取裡面的資料載來做操作,因為不需要安裝,所以在使用jdbc連線後,如需關閉資料庫,需要使用傳送SQL語法使關閉Statement.execute(“SHUTDOWN”);。

底下有一個簡單的範裡,包含了新增、刪除、查詢、建立資料表及刪除資料表等操作,範例如果如下:

hsqldb1.png

1.先下載jdbc driver

http://sourceforge.net/project/showfiles.php?group_id=23316

解壓縮後把資料夾裡的lib/hsqldb.jar放到classpath裡

Read More

[jsp]網頁分頁模組程式-SubPages

這裡提供一個撰寫jsp時很常會用到的一個分頁功能,主要提供二種簡單的樣式,程式是改寫一個php的分頁程式而來,大概的結果會像下圖,可以自行增加CSS來美化結果。

樣式一主要提供首頁、上一頁、下一頁及尾頁功能

樣式二提供分頁數列及首頁、上一頁、下一頁及尾頁功能

SubPages.png

這是有使用CSS調整過的,整體感覺就會差吧!

SubPages2.png

以下是主要的原始碼

Read More

[Java]產生SVG向量圖形檔-xml圖形檔

SVG圖檔是一種利用xml及css來製作而成的一種向量圖形,放大或縮小均不會改變其品質,不過當圖形複雜到一定程式時,其檔案也會跟著變大很多,能夠設計SVG圖形作品的軟體工具包括Adobe Illustrator以及CorelDRAW等,要能查看svg檔案裡的圖形可以利用browser像是firefox、chrome都可以直接知道此向量圖形的內容。

Wiki SVG

在Java要輸出(產生)SVG檔很簡單,在Apache 套件裡有一個batik可以很簡單的就生成所要的SVG圖檔,只需要把原本在建立圖檔時使用的java.awt.Graphics2D變成使用org.apache.batik.svggen.SVGGraphics2D來繪製圖形就可以了。

產生的結果圖:

ToSVG.png

Read More