Time of Update: 2018-12-05
public class ChineseToPinyin { public static void main(String[] args) { ChineseToPinyin chineseToPinyin = new ChineseToPinyin(); String str1 = chineseToPinyin.getPYChar("中"); String str2 = chineseToPinyin.getPYString("程式員");
Time of Update: 2018-12-05
這篇東西轉自一位有思想的研究生!她看到這篇漫畫,覺得很不錯,我看後也覺得值得我們思考,尤其是當我們抱怨時!第一幅漫畫中,每個人都背負著一個沉重的十字架,在緩慢而艱難地前行!途中,有一個人忽然停了下來。他在想著什麼!他想,上帝啊,這個十字架太沉重了,我可以把十字架砍掉一塊!於是他動手砍了起來!砍掉之後走起來,的確是輕鬆了很多,他的步伐也不由得加快了。就這樣走啊走啊!走著走著,他覺得肩上的十字架還是很沉,很重!他祈求道,上帝啊,請你讓我再砍掉一截吧,我會走得更輕鬆!於是,他又砍掉了一截!感謝上帝,這
Time of Update: 2018-12-05
Base64加密原理如下:1.將字串中的每個字元轉換成8位的2進位數(位元不夠在高位加0,如a的2進位數為‘1100001’他是7為就變為‘01100001’),將每個字元的2進位數連在一起就得到一個一長串的0,1。2.再在這一個串中6位6位的取數將其轉化為10進位數,就可以在如下表中對應找到字元,這樣就得到了加密後的字串。 0 A 9 J 18 S 27 b 36 k 45 t 54 2 63 / 1 B 10 K 19 T 28 c 37 l 46 u
Time of Update: 2018-12-05
Visitor定義作用於某個對象群中各個對象的操作.它可以使你在不改變這些對象本身的情況下,定義作用於這些對象的新操作.在Java中,Visitor模式實際上是分離了collection結構中的元素和對這些元素進行操作的行為.為何使用Visitor?Java的Collection(包括Vector和Hashtable)是我們最經常使用的技術,可是Collection好象是個黑色大染缸,本來有各種鮮明類型特徵的對象一旦放入後,再取出時,這些類型就消失了.那麼我們勢必要用If來判斷,如:Iterat
Time of Update: 2018-12-05
需注意以下三點:1、建立資料庫的時候:CREATE DATABASE `database` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';2、建表的時候 CREATE TABLE `database_user` ( `ID` varchar(40) NOT NULL default '',
Time of Update: 2018-12-05
Flyweight定義:避免大量擁有相同內容的小類的開銷(如耗費記憶體),使大家共用一個類(元類).為什麼使用?物件導向語言的原則就是一切都是對象,但是如果真正使用起來,有時對象數可能顯得很龐大,比如,文書處理軟體,如果以每個文字都作為一個對象,幾千個字,對象數就是幾千,無疑耗費記憶體,那麼我們還是要"求同存異",找出這些對象群的共同點,設計一個元類,封裝可以被共用的類,另外,還有一些特性是取決於應用(context),是不可共用的,這也Flyweight中兩個重要概念內部狀態intrinsic
Time of Update: 2018-12-05
Interpreter定義:定義語言的文法 ,並且建立一個解譯器來解釋該語言中的句子.Interpreter似乎使用面不是很廣,它描述了一個語言解譯器是如何構成的,在實際應用中,我們可能很少去構造一個語言的文法.我們還是來簡單的瞭解一下:首先要建立一個介面,用來描述共同的操作.public interfaceAbstractExpression { void interpret( Context context ); } 再看看包含解譯器之外的一些全域資訊public interface
Time of Update: 2018-12-05
Template定義:定義一個操作中演算法的骨架,將一些步驟的執行延遲到其子類中.其實Java的抽象類別本來就是Template模式,因此使用很普遍.而且很容易理解和使用,我們直接以樣本開始:public abstract class Benchmark{ /** * 下面操作是我們希望在子類中完成 */ public abstract void benchmark(); /** * 重複執行benchmark次數 */ public final long repeat
Time of Update: 2018-12-05
非遞迴中序遍曆:關鍵是最左節點的尋找public static void inOrder(Node root) { java.util.Stack stack = new java.util.Stack<Node>(); Node current = root; if(root != null) { stack.push(root); while(!stack.empty()) { if(current.
Time of Update: 2018-12-05
八字:專 靜 謙 籌 悟 慎 透 恒 專 忽如一夜春風來,千樹萬樹梨花開."現在的技術百花齊放,切忌不可貪.不要盲目的追求新技術,唯有演算法才是靈魂. 靜 非淡泊無以明志,非寧靜無以致遠." 靜而後安,安而後定,定而後思,思而後慧,慧而後得。要想達到高的境界,必須能夠心靜.年輕的程式員都很浮躁,這一點對於他們來說尤為的重要. 謙
Time of Update: 2018-12-05
Java深入到一定程度,就不可避免的碰到設計模式(designpattern)這一概念,瞭解設計模式,將使自己對java中的介面或抽象類別應用有更深的理解.設計模式在java的中型系統中應用廣泛,遵循一定的編程模式,才能使自己的代碼便於理解,易於交流,Observer(觀察者)模式是比較常用的一個模式,尤其在介面設計中應用廣泛,而本站所關注的是Java在電子商務系統中應用,因此想從電子商務執行個體中分析Observer的應用.雖然網上商店形式多樣,每個網站有自己的特色,但也有其一般的共性,單就"
Time of Update: 2018-12-05
還記得以前那個在IE的已開啟的網頁上的網址裡輸入一段javascript的代碼後,你會發現這個頁面裡所有的圖片元素都動了起來:(只能在IE瀏覽器裡,Chrome和Firefox無效)javascript:R=0;x1=.1;y1=.05;x2=.25;y2=.24;x3=1.6;y3=.24;x4=300;y4=200;x5=300;y5=200;DI=document.images;DIL=DI.length;function A(){for(i=0; i-DIL; i++){DIS=DI[
Time of Update: 2018-12-05
Memento定義:memento是一個保存另外一個對象內部狀態拷貝的對象.這樣以後就可以將該對象恢複到原先儲存的狀態.Memento模式相對也比較好理解,我們看下列代碼:public class Originator { private int number; private File file = null; public Originator(){} // 建立一個Memento public Memento getMemento(){ return new
Time of Update: 2018-12-05
Bridge定義
Time of Update: 2018-12-05
Chain ofResponsibility定義Chain of Responsibility(CoR)是用一系列類(classes)試圖處理一個請求request,這些類之間是一個鬆散的耦合,唯一共同點是在他們之間傳遞request.也就是說,來了一個請求,A類先處理,如果沒有處理,就傳遞到B類處理,如果沒有處理,就傳遞到C類處理,就這樣象一個鏈條(chain)一樣傳遞下去。如何使用?雖然這一段是如何使用CoR,但是也是示範什麼是CoR.有一個Handler介面:public
Time of Update: 2018-12-05
有一個名為TxtNum的TextBox文字框,要求只能輸入有效實數,代碼如下:Private Sub TxtNum_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtNum.KeyPress Dim b As Boolean = True If Char.IsDigit(e.KeyChar) Or
Time of Update: 2018-12-05
Command模式是最讓我疑惑的一個模式,我在閱讀了很多代碼後,才感覺隱約掌握其大概原理,我認為理解設計模式最主要是掌握起原理構造,這樣才對自己實際編程有指導作用.Command模式實際上不是個很具體,規定很多的模式,正是這個靈活性,讓人有些confuse.Command定義不少Command模式的代碼都是針對圖形介面的,它實際就是功能表命令,我們在一個下拉式功能表選擇一個命令時,然後會執行一些動作.將這些命令封裝成在一個類中,然後使用者(調用者)再對這個類進行操作,這就是Command模式,換
Time of Update: 2018-12-05
Strategy是屬於設計模式中對象行為型模式,主要是定義一系列的演算法,把這些演算法一個個封裝成單獨的類.Stratrgy應用比較廣泛,比如,公司經營業務變化圖, 可能有兩種實現方式,一個是線條曲線,一個是框圖(bar),這是兩種演算法,可以使用Strategy實現.這裡以字串替代為例,有一個檔案,我們需要讀取後,希望替代其中相應的變數,然後輸出.關於替代其中變數的方法可能有多種方法,這取決於使用者的要求,所以我們要準備幾套變數字符替代方案. 首先,我們建立一個抽象類別RepTempRule
Time of Update: 2018-12-05
State的定義: 不同的狀態,不同的行為;或者說,每個狀態有著相應的行為.何時使用?State模式在實際使用中比較多,適合"狀態的切換".因為我們經常會使用If elseif else 進行狀態切換,
Time of Update: 2018-12-05
Mediator定義:用一個中介對象來封裝一系列關於對象互動行為.為何使用Mediator?各個對象之間的互動操作非常多;每個對象的行為操作都依賴彼此對方,修改一個對象的行為,同時會涉及到修改很多其他對象的行為,如果使用Mediator模式,可以使各個對象間的耦合鬆散,只需關心和Mediator的關係,使多對多的關係變成了一對多的關係,可以降低系統的複雜性,提高可修改擴充性.如何使用?首先 有一個介面,用來定義成員對象之間的互動連絡方式:public interface Mediator { }