• About Me
  • Java基礎教學
  • 部落格聯播

[Java]迴圈

迴圈是在任何程式語言上都很常見的一種語法,主要在處理重覆的事情,例如:1加到55之類的,或著需重覆做n次的事件,而Java的迴圈一共分成三種方法,一種是for、一種是while另一種是do while迴圈,在什麼時候使用那一種迴圈並沒有一定,大概可分為for:基本型態的遞增減,while:物件下一個或上一個,do while:跟while一樣,只差是先執行而後判斷,以下是比較詳細的說明:

for

當需要某一個變數從A數到B數時,就很常利用for來執行

用法:

for(初始化變數;判斷跳出的條件;增值)

敘述句

其中初始變數、判斷句跟增值都不一定要寫在for後面,下面的範例就把幾種用法帶出來了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
        int i = 0 ; 
        for(;i<5;i++)
            System.out.print(i+",");
        //答案:0,1,2,3,4,
 
        for(int x=0;x<3;x++)
            System.out.print(x+",");
        //答案:0,1,2,
 
        int y=0;//初始
        for(;;)
        {
            if(y>3)//判斷
                break;
            System.out.print(y++);
            y++;//繼續
        }
        //答案0,1,2

詳細文章

[jsp]利用Google Map查詢經緯度

如果手上有一堆地址清單想要知道它們的經緯度如何?要怎麼做呢?這裡介紹一個很簡單的方法,利用二個Ajax及Google Map就可以完成,一個要求地址欄位及key值(這其實可以直接全都先輸出成javascript的Array就好了),另一個接收到經緯度資料後回傳給Server做儲存(這也可以直接利用一個TextArea存放,到時再複製起來存放),而Google Map最主要的功能就是把地址轉換成經緯度。

GoogleMap3.png

做法及想法如下:

1.建立資料庫Table

需要有一個pk值、地址、經度、緯度及一個記錄是否已取得成功的註記符號,MySQL語法如下:

ps.先建立幾筆資料做測試,如下insert

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE TABLE `test`.`Address` (
  `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  `zip_name` VARCHAR(45) NOT NULL,
  `address` VARCHAR(500) NOT NULL,
  `latitude` VARCHAR(100),
  `longitude` VARCHAR(100),
  `flg` VARCHAR(1),
  PRIMARY KEY (`id`)
)
ENGINE = InnoDB;
 
INSERT INTO ADDRESS (zip_name,address) 
VALUES ('台中市北屯區', '崇德路130號14樓A1');
INSERT INTO ADDRESS (zip_name,address) 
VALUES ('台中市西區', '忠明南路122號');

詳細文章

prototype Ajax回傳json物件的處理

一般人在設計ajax成功回傳事件時,有幾種方式來處理回傳的資料,一種是純文字或html code,一種是xml格式那另一種就是json格式,json格式不像xml需要成對的tag,所以在回傳資料長度上會顯的短很快,如果整個網站都大量使用ajax方法的話,選擇json是一個很好的方法。

ajaxjson2.png

json的相關資訊可以在這裡看到:JSON in JavaScript

prototype這個framework本身就有支援To JSON的方法,有二種格式可以轉換成json,一種是javascript的class,另一種就是純文字了,不過純文字的內容要為json格式才能被轉換,如下:

{"bindings": [
        {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
        {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
        {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
    ]
};

詳細文章

[Javascript]AutoComplete自動完成效果

之前為了做這AutoComplete效果找了好多資料,不過大都是jQuery的,當然不是不好用,只是在一個頁面載入prototypejQeruy就會有些衝突的問題要解決

效果大概會像下面這樣子

AutoComplete1.png

詳細文章

Java正規表示式工具-Eclipse GUI介面

在使用正規表示式(Regular Expression)時,都需要一直反覆測試才能知道結果對不對,或著自己寫一個簡單測試環境,其實在Eclipse上早就有一個正規表示式的測試工具,十分方便,作者已經很久沒更新了,不過十分夠用了。

可以在Eclipse Regular Expression Tester上寫好正規式,再貼到程式裡,通常都已經十之八九對了,以下是官方網站對這個軟體的簡介,大概翻了一下內容有需要的人可以直接去官網看。

regex1.png

簡介

官網網址:http://www.brosinski.com/regex/

  • 測試或查詢正規表示式的方法。
  • 比對正確的字詞,直接視覺化的顏色提示。
  • LiveEvaluation可即時檢驗所輸入的正規表示式,並馬上回報結果或其錯誤的提示。
  • 自動轉換”\(x\)”變成”\\(x\\)”
  • 移除多餘符號,\\(x\\) 變成 \(x\)下去比對。
  • 有四種不同的比對模式,可在正規式輸入框按右鍵選
    • 找到一連串的字元 Find a sequence of characters.
    • 比對完整的字串 Match a complete text.
    • 切割字串 Split text.
    • 取代每一個正規式找到的不同文字
      取代也支援回傳參數($1,$2,...)

詳細文章