專注應(yīng)用,關(guān)注發(fā)展,開拓創(chuàng)新

          <-------------------------------------------------------------------& 珍惜生命 . 善用時(shí)間 . 把握未來(lái) . 創(chuàng)造價(jià)值。

          BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
            11 Posts :: 17 Stories :: 10 Comments :: 0 Trackbacks

          2006年7月8日 #

          如題,不知是不是BUG,在derby中可通過(guò)的,mysql就不行
          posted @ 2011-05-17 10:23 吳名居 閱讀(282) | 評(píng)論 (0)編輯 收藏

          通常需要多國(guó)語(yǔ)對(duì)應(yīng)的時(shí)候需要把a(bǔ)scii字符轉(zhuǎn)換成UNICODE。
          JAVA自帶的轉(zhuǎn)換工具native2ascii.exe,用起來(lái)繁瑣麻煩,還要查閱好多參數(shù)。偶然發(fā)現(xiàn)了一個(gè)更簡(jiǎn)便的轉(zhuǎn)換方法。介紹如下:
          軟件UltraEdit12.10版本。
          步驟1。將待轉(zhuǎn)換的文件轉(zhuǎn)換成UNICODE
          File->Conversions->ASCII To Unicode
          步驟2。將Unicode轉(zhuǎn)換成Escaped Unicode
          File->Conversions->Unicode To ASCII Escaped Unicode
          OK。
          選擇Advanced->Configuration->File Handling->Uncode/UTF-8 Detection 中選擇 Detect ASCII/ANSI files with Escaped Unicode
          之后就用UE打開這種編碼的文件就像打開普通文件一樣了。而且編輯后自動(dòng)按此格式存盤,無(wú)須再次轉(zhuǎn)換。
          很方便吧!
          posted @ 2009-10-02 20:55 吳名居 閱讀(294) | 評(píng)論 (0)編輯 收藏

          文檔位置:
          文檔作用:

          適用版本:
          相關(guān)連接:

          調(diào)用代碼:

          <==================  Doc Start ===================================>
          <?xml version="1.0" encoding="UTF-8"?>
          <Workspace name="adads">
               <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
                   <param name="path" value="${wsp.home}"/>
               </FileSystem> 
              
               <PersistenceManager class="org.apache.jackrabbit.core.state.db.DerbyPersistenceManager">
                 <param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/>
                 <param name="schemaObjectPrefix" value="${wsp.name}_"/>
                 <param name="externalBLOBs" value="false"/>
               </PersistenceManager>
            <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
               <param name="path" value="${wsp.home}/index"/>
                <param name="textFilterClasses" value="org.apache.jackrabbit.core.query.lucene.TextPlainTextFilter,org.apache.jackrabbit.core.query.MsExcelTextFilter,org.apache.jackrabbit.core.query.MsPowerPointTextFilter,org.apache.jackrabbit.core.query.MsWordTextFilter,org.apache.jackrabbit.core.query.PdfTextFilter,org.apache.jackrabbit.core.query.HTMLTextFilter,org.apache.jackrabbit.core.query.XMLTextFilter,org.apache.jackrabbit.core.query.RTFTextFilter,org.apache.jackrabbit.core.query.OpenOfficeTextFilter"/>
                
             <!-- These are all default values. You can change them if you want -->
                   <param name="useCompoundFile" value="true"/>
                   <param name="minMergeDocs" value="100"/>
                   <param name="volatileIdleTime" value="3"/>
                   <param name="maxMergeDocs" value="100000"/>
                   <param name="mergeFactor" value="10"/>
                   <param name="bufferSize" value="10"/>
                   <param name="cacheSize" value="1000"/>
                   <param name="forceConsistencyCheck" value="false"/>
                   <param name="autoRepair" value="true"/>
                   <param name="analyzer" value="org.apache.lucene.analysis.standard.StandardAnalyzer"/>
                   <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl"/>
                   <param name="idleTime" value="-1"/>
                   <!-- end of default values -->     
                
                <param name="respectDocumentOrder" value="false"/>
            </SearchIndex>
          </Workspace>

          posted @ 2007-11-11 09:54 吳名居 閱讀(730) | 評(píng)論 (0)編輯 收藏

              單據(jù)過(guò)賬類型:“承付"
          posted @ 2007-10-29 12:55 吳名居 閱讀(307) | 評(píng)論 (0)編輯 收藏

               解決方案.

              最好 能集成iREPORT,
             一般 字體,顏色選擇加強(qiáng)
          posted @ 2007-10-29 12:49 吳名居 閱讀(824) | 評(píng)論 (0)編輯 收藏

          第一步
          http://www.google.com/apis/maps/ 申請(qǐng)一個(gè) Google Maps API key ,當(dāng)然,你得有頂級(jí)域名才行。。。? 亂申請(qǐng)的你如果不放到你這個(gè)域名下,那這個(gè)就根本用不了。。。
          Google會(huì)給您一段代碼,可要保存好哦~

          第二步
          http://www.misuisui.com/google_map.htm 打開,看一看里面的源化碼,我已經(jīng)寫好說(shuō)明了,大家照貓畫虎就行了,HOHO~主要代碼在最下面~

          第三步
          把第一步里申請(qǐng)來(lái)的 Google Maps API key 改掉代碼中的 ABQIAAAAlwlonOoTX0oPrDaRmH_ALBREKWcFDKg74ezPgAUa79EBKj9z1BTjAKcZV51YfdN2n4xhiJ2lKuvBeA 一樣的代碼。。。?

          第四步
          代碼里的哪個(gè)PNG圖標(biāo)不好找,在網(wǎng)上狂搜吧。。。? 要不自己做一個(gè)? ~
          嗯,還有那個(gè)坐標(biāo)不好找,大家請(qǐng)看第四步

          第五步
          打開 http://www.google.com/maps
          找啊找啊,找到你所在的地方,然后點(diǎn)那個(gè)右上角那個(gè)“Link to this page”
          得到一個(gè)這樣的鏈接 http://www.google.com/maps?f=q&hl=en&q=china&ll=35.86166,104.195397&spn=32.116109,88.242188&t=h
          注意 35.86166, 104.195397 這一段數(shù)字,這就是當(dāng)前地圖中心點(diǎn)的坐標(biāo)了
          把逗號(hào)后面的數(shù)字放到逗號(hào)前面變成這樣 104.195397, 35.86166
          然后就是把這個(gè)數(shù)字添加到代碼中你想要添加的地方了~?

          第六步
          根據(jù)代碼里的提示,發(fā)揮你的想象力,然后做點(diǎn)啥出來(lái)~做出啥來(lái)了,也告訴我一下,讓我也看看啊~
          比如我就要做個(gè)友情鏈接的東東,HOHO~和我友鏈的朋友們麻煩參考第五步把你想要標(biāo)在我的友情鏈接地圖上的坐標(biāo)告訴我啊,HOHO~?

          第七步
          嗯嗯,希望這幾天大家要常來(lái)這兒了,因?yàn)橛幸粋€(gè)好東東要給大家告訴大家啦~HOHO~

          <div id="map" style="width: 600px; height: 400px; border: 1px solid #979797"></div>
          <!-- 把以上代碼為地圖的寬和高,可修改里面的數(shù)值,不要改里面的ID -->

          <script src="<!-- 此為Google Map API 的驗(yàn)證碼,用到自己的網(wǎng)站要去 http://www.google.com/apis/maps/ 審請(qǐng)一個(gè) -->

          <script type="text/javascript">
          ? //<![CDATA[

          ??? function createMarker(point, baseIcon, html) {
          ????? var icon = new GIcon(baseIcon);
          ????? var marker = new GMarker(point, icon);

          ????? GEvent.addListener(marker, 'click', function() {
          ????? marker.openInfoWindowHtml(html);
          ????? });

          ??? return marker;
          ??? }

          ??? function loadMap(){
          ????? var map = new GMap(document.getElementById("map"));
          ????? map.addControl(new GLargeMapControl());
          ????? map.setMapType(G_HYBRID_TYPE);
          ????? map.centerAndZoom(new GPoint(116.429114, 39.934322), 0); //在這里116.429114, 39.934322代表地圖的中心位置,后面的0是放到最大,數(shù)字越大,地圖顯示的越多
          ?????
          ????? // 以下是定義一些基本信息
          ????? // 陰影,陰影偏移,信息框偏移, 什么什么的
          ????? var icon = new GIcon();
          ????? icon.shadow = "????? icon.shadowSize = new GSize(21, 29);
          ????? icon.iconAnchor = new GPoint(10, 30);
          ????? icon.infoWindowAnchor = new GPoint(9, 5);
          ????? icon.infoShadowAnchor = new GPoint(9, 5);

          ????? //在地圖上標(biāo)一個(gè)圖標(biāo),點(diǎn)擊就出現(xiàn)字
          ????? var html = '<s>你這個(gè)淫真是的,摸人家干啥啊?</s>'; //這里是顯示在信息框里的東東,支持HTML
          ????? icon.image = "
          ????? icon.iconSize = new GSize(21, 29); //圖標(biāo)的寬和高
          ????? var point = new GPoint(116.429114, 39.934322); //圖標(biāo)標(biāo)在地圖的哪里

          ????? var marker = createMarker(point, icon ,html);
          ????? map.addOverlay(marker);
          ????? //標(biāo)一個(gè)圖標(biāo)完畢

          ????? //在地圖上再標(biāo)一個(gè)圖標(biāo),點(diǎn)擊就出現(xiàn)字,改的方法如上
          ????? html = '<i>淫僧法號(hào)米隨隨~</i>';
          ????? icon.image = "
          ????? icon.iconSize = new GSize(21, 29);
          ????? point = new GPoint(116.429424, 39.934322);
          ?????
          ????? marker = createMarker(point, icon ,html);
          ????? map.addOverlay(marker);
          ????? //標(biāo)一個(gè)圖標(biāo)完畢,這段代碼復(fù)制多少個(gè),就有多少個(gè)圖標(biāo),只要改改里面的東東就可以了

          ????? //在地圖上再標(biāo)一個(gè)圖標(biāo),點(diǎn)擊就出現(xiàn)字,改的方法如上
          ????? html = '點(diǎn)擊<a href="#" target="_self">這里</a>看看米隨隨是怎么整出來(lái)的~';
          ????? icon.image = "
          ????? icon.iconSize = new GSize(21, 29);
          ????? point = new GPoint(116.429314, 39.934522);

          ????? marker = createMarker(point, icon ,html);
          ????? map.addOverlay(marker);
          ????? //標(biāo)一個(gè)圖標(biāo)完畢,這段代碼復(fù)制多少個(gè),就有多少個(gè)圖標(biāo),只要改改里面的東東就可以了

          ????? //在地圖上再標(biāo)一個(gè)圖標(biāo),點(diǎn)擊就出現(xiàn)字,改的方法如上
          ????? html = '<div ><font color="blue">阿彌陀佛~淫僧米隨隨哪!~</font></div>';
          ????? icon.image = "
          ????? icon.iconSize = new GSize(21, 29);
          ????? point = new GPoint(116.429714, 39.934522);

          ????? marker = createMarker(point, icon ,html);
          ????? map.addOverlay(marker);
          ????? //標(biāo)一個(gè)圖標(biāo)完畢,這段代碼復(fù)制多少個(gè),就有多少個(gè)圖標(biāo),只要改改里面的東東就可以了

          ????? //最后一個(gè)圖標(biāo)將一開始顯示下面的內(nèi)容
          ????? defaultmsg = '<div><font color="red">點(diǎn)擊淫僧米隨隨哪!~</font></div>'; //這里是顯示在信息框里的東東,支持HTML
          ????? marker.openInfoWindowHtml(defaultmsg);

          ?????

          ??? }

          ???
          ??? loadMap();

          ? //]]>
          </script>

          出處:http://www.misuisui.com/weblog/article.asp?id=398

          posted @ 2006-12-14 15:23 吳名居 閱讀(349) | 評(píng)論 (0)編輯 收藏

          在xp系統(tǒng)中,有近90個(gè)服務(wù),默認(rèn)開啟了30多個(gè)服務(wù),而事實(shí)上我們只需要其中幾個(gè)就夠用了。禁止所有不必要的服務(wù)可以為您節(jié)省n多的內(nèi)存和大量系統(tǒng)資源 不過(guò),由于默認(rèn)安裝完Windows XP后,系統(tǒng)會(huì)開啟很多服務(wù),其中不少對(duì)于普通用戶根本用不到或暫時(shí)用不到,反而浪費(fèi)了相當(dāng)多的內(nèi)存和系統(tǒng)資源,特別是內(nèi)存,影響了系統(tǒng)啟動(dòng)和運(yùn)行的速度。但是迫于水平實(shí)在有限 不敢亂關(guān) 一些服務(wù) 所以找了好多地方 找了一寫相關(guān)文章過(guò)來(lái) 希望能給那些和我一樣痛苦著用xp的朋友一些幫助部分做了相關(guān)修改。
            在 “開始” 的 “運(yùn)行” 中 輸入:
            services.msc
            進(jìn)入XP自帶服務(wù)修改列表
            可以選擇關(guān)閉,手動(dòng),還是自動(dòng).
            自動(dòng)為跟windows一起啟動(dòng)。
            手動(dòng)為需要時(shí)它自行啟動(dòng)。
            關(guān)閉為永遠(yuǎn)不啟動(dòng)。
            開始吧:
            alerter -錯(cuò)誤警報(bào)器,垃圾,關(guān)閉。
            application layer gateway service -給與第三者網(wǎng)絡(luò)共享/防火墻支持的服務(wù),有些防火墻/網(wǎng)絡(luò)共享軟件需要。占用1。5mb內(nèi)存。
            application management-用于設(shè)定,發(fā)布和刪除軟件服務(wù)。
            automatic 更新s -windows自動(dòng)更新,K,滾!
            background intelligent transfer service -這個(gè)服務(wù)原是用來(lái)實(shí)現(xiàn)http1.1服務(wù)器之間的信息傳輸,微軟稱支持windows更新時(shí)斷點(diǎn)續(xù)傳
            clipbook - 用與局域網(wǎng)電腦來(lái)共享 粘貼/剪貼的內(nèi)容。(K,想得出!)
            com+Event system -一些 COM+ 軟件需要,檢查你的 c:program filesComPlus Applications 目錄,沒(méi)東西可以把這個(gè)服務(wù)關(guān)閉.
            COM+Event system application -同上
            COmputer browser - 用來(lái)瀏覽局域網(wǎng)電腦的服務(wù),但關(guān)了也不影響瀏覽!垃圾
            cryptographic services -windows更新時(shí)用來(lái)確認(rèn)windows 文件指紋的,我更新時(shí)才開啟一下。
            DHCP client-靜態(tài)IP者需要(xDSL 等)小貓就不用了!!
            Distributed link tracking client-用于局域網(wǎng)更新連接信息,比如在電腦A有個(gè)文件,在B做了個(gè)連接,如果文件移動(dòng)了,這個(gè)服務(wù)將會(huì)更新信息。占用4兆內(nèi)存。
            Distributed Transaction coordinator-無(wú)聊的東西。
            DNS Client-DNS解析服務(wù)。。無(wú)聊~~
            Error reporting service -錯(cuò)誤報(bào)告器,把windows中錯(cuò)誤報(bào)告給微軟,無(wú)聊~~~~~
            *Event Log- 系統(tǒng)日志紀(jì)錄服務(wù),很有用于查找系統(tǒng)毛病.
            Fast user switching compatibility-多用戶快速切換服務(wù)..無(wú)聊
            help and support -幫助,無(wú)聊,還是無(wú)聊幫助..哈哈
            Human interface device access-支持"弱智“電腦配件的。。比如鍵盤上調(diào)音量的按鈕等等。。
            IMAPI CD-burning COM service -xp刻牒服務(wù),用軟件就不用了占用1。6兆內(nèi)存
            Indexing service -恐怖的xp減速的東東!!!關(guān)關(guān)關(guān)!!!
            Internet Connection Firewall(ICF).........-xp防火墻。。不用就關(guān)。
            IPSEC Services-大眾用戶連邊都沾不上。
            Logical Disk manager -磁盤管理服務(wù)。。需要時(shí)它會(huì)通知你,所以一般關(guān)。
            Logical Disk manager administrative service-同上。
            messenger -不是msn,不想被騷擾的話就關(guān)。注:妖刺就是利用這個(gè)。
            MS software shadow copy provider-無(wú)用,據(jù)說(shuō)是備份用的。。我看什么用都沒(méi)。
            Net Logon-登陸 Domain Controller 用的,大眾用戶快關(guān)!
            Netmeeting remote desktop sharing-用netmeeting 實(shí)現(xiàn)電腦共享。。暈!關(guān)!!
            Network Connections - 上網(wǎng)/局域網(wǎng)要用的東東!
            Network DDE -和clipbook一起用的,無(wú)聊~~~~
            Network DDE DSDM -同上
            Network 本地 Awareness-如有網(wǎng)絡(luò)共享或ICS/ICF可能需要.(服務(wù)器端)
            NT LM Security support provider-telnet 服務(wù)用的東東,關(guān)!!
            NVIDIA Driver Helper service -nvidia 顯卡幫助,關(guān)!
            PDEngine - perfectdisk 引擎
            PDScheduler -perfectdisk 計(jì)劃服務(wù)
            PerFORMance logs and alerts-記錄機(jī)器運(yùn)行狀況而且定時(shí)寫入日志或發(fā)警告,內(nèi)容可能過(guò)于專業(yè),所以。。自己決定。
            *Plug and Play- 自動(dòng)查測(cè)新裝硬件,即插即用,開著吧~~~
            Portable media serial number-絕對(duì)無(wú)用,無(wú)聊之及。
            Print Spooler -打印機(jī)用的,我打印時(shí)才開一下。
            Protected Storage-儲(chǔ)存本地密碼和網(wǎng)上服務(wù)密碼的服務(wù),包括填表時(shí)的“自動(dòng)完成”功能。
            QoS RSVP -關(guān)!就是那個(gè)20%的 QoS
            Remote access auto connection manager-寬帶者/網(wǎng)絡(luò)共享可能需要!!
            Remote desktop help session manager-遠(yuǎn)程幫助服務(wù),傻透,占用4兆內(nèi)存。
            *Remote Procedure Call (RPC) -系統(tǒng)核心服務(wù)!
            Remote Procedure Call LOCATOR-這個(gè)倒沒(méi)什么用,管理 RPC 數(shù)據(jù)庫(kù)服務(wù),占用1兆內(nèi)存。
            remote registry -遠(yuǎn)程注冊(cè)表運(yùn)行/修改。大漏洞,還不快關(guān)!!
            removable storage -一般情況下不用,磁帶備份用的。
            routing and remote access-哈哈。。不知者關(guān)!
            secondary logon-給與administrator 以外的用戶分配指定操作權(quán).暈~~~
            security accounts manager-像 Protected Storage, IIS Admin 才需要。
            server -局域網(wǎng)文件/打印共享需要的。
            shell hardware detection-給有些配置自動(dòng)啟動(dòng),像內(nèi)存棒,和有些cd驅(qū)動(dòng)等
            smart card -關(guān)!1。4兆內(nèi)存
            smart card helper -關(guān)!
            SSDP Discovery service-沒(méi)有什么硬件利用這個(gè)服務(wù)。。
            system event notification-記錄用戶登錄/注銷/重起/關(guān)機(jī)信息。。誰(shuí)管這些。。
            system restore service -系統(tǒng)還原服務(wù),吃資源和內(nèi)存的怪獸。。雖然有時(shí)用到,自己決定。
            task scheduler-windows 計(jì)劃服務(wù)啦,垃圾.
            TCP/IP NetBIOS helper-如果你的網(wǎng)絡(luò)不用 Netbios 或WINS,關(guān)了.
            Telephony - 撥號(hào)服務(wù),如果你的寬帶不用撥號(hào),那么關(guān)了它。
            telnet -大漏洞,我第一個(gè)關(guān)的就是這個(gè).這根dos中 telnet 命令沒(méi)關(guān)系。2兆內(nèi)存。
            terminal services-實(shí)現(xiàn)遠(yuǎn)程登錄本地電腦,快速用戶切換和遠(yuǎn)程桌面功能需要,不用這些功能就關(guān)了吧。
            themes -給xp打扮的東東,不要太花鍬的就關(guān)了。
            uninterruptible power supply-停電保護(hù)設(shè)備用的。。。沒(méi)有的就關(guān)。
            universal plug and play device host-同SSDP Discovery Service ,沒(méi)用.
            upload manager-用來(lái)實(shí)現(xiàn)服務(wù)器和客戶端輸送文件的服務(wù),簡(jiǎn)單文件傳輸不需要這個(gè)!
            volume shadow copy-同MS Software Shadow Copy Provider,無(wú)用.
            webclient-可能和以后的.net技術(shù)有聯(lián)系,安全起見,我關(guān)得實(shí)實(shí)的!
            *Windows Audio - 控制著你聽到的聲音。關(guān)了就沒(méi)聲音了!!
            Windows Installer -windows的MSI安裝服務(wù),建議設(shè)成手動(dòng)。
            windows image acquisition (WIA) -有些數(shù)碼相機(jī)和掃描器用的,我的掃描器覺(jué)得它沒(méi)用。
            *Windows Management Instrumentation - 滿重要的服務(wù),是管"服務(wù)依K"的,但關(guān)了會(huì)出現(xiàn)奇怪的問(wèn)題.
            windows management 包含umentat
          posted @ 2006-08-08 10:24 吳名居 閱讀(289) | 評(píng)論 (0)編輯 收藏

          一個(gè)Swing的WEB實(shí)現(xiàn)
          Swingweb is a web-application framework that enables AWT/Swing application to operate inside a web container and presented as a web application to the web browser, purely in HTML/CSS/javascript. The swing application will render and behave in the web-container the same as it would as a desktop application. There is little knowledge required for the developer to start developing swingweb application as long as they are familiar with swing UI development.
          http://swingweb.sourceforge.net/swingweb/

          posted @ 2006-08-07 22:15 吳名居 閱讀(368) | 評(píng)論 (0)編輯 收藏

          Jakarta Commons-Email 1.0??版本發(fā)布了。

          Commons-Email 提供了一套更簡(jiǎn)潔的 操作 郵件的API.

          Commons-Email 是 基于 JavaMail API 構(gòu)建.??核心組建只包含很少的幾個(gè)classes.

          下面是一些其中的類的簡(jiǎn)單介紹:
          SimpleEmail - This class is used to send basic text based emails.

          MultiPartEmail - This class is used to send multipart messages. This allows a text message with attachments either inline or attached.

          HtmlEmail - This class is used to send HTML formatted emails. It has all of the capabilities as MultiPartEmail allowing attachments to be easily added. It also supports embedded images.

          EmailAttachment - This is a simple container class to allow for easy handling of attachments. It is for use with instances of MultiPartEmail and HtmlEmail.
          posted @ 2006-08-04 00:33 吳名居 閱讀(315) | 評(píng)論 (0)編輯 收藏

          公民身份號(hào)碼是特征組合碼,由十七位數(shù)字本體碼和一位數(shù)字校驗(yàn)碼組成.排列順序從左至右依次為:六位數(shù)字地址碼,八位數(shù)字出生日期碼,三位數(shù)字順序碼和一位數(shù)字校驗(yàn)碼。1、地址碼表示編碼對(duì)象常住戶口所在縣(市、旗、區(qū))的行政區(qū)劃代碼,按GB/T2260的規(guī)定執(zhí)行。

            2、出生日期碼表示編碼對(duì)象出生的年、月、日,按GB/T7408的規(guī)定執(zhí)行。年、月、日代碼之間不用分隔符。例:某人出生日期為1966年10月26日,其出生日期碼為19661026。

            3、順序碼表示在同一地址碼所標(biāo)識(shí)的區(qū)域范圍內(nèi),對(duì)同年、同月、同日出生的人編定的順序號(hào),順序碼的奇數(shù)分配給男性,偶數(shù)千分配給女性。

            4、校驗(yàn)碼校驗(yàn)碼采用ISO7064:1983,MOD11-2校驗(yàn)碼系統(tǒng)。

            1)十七位數(shù)字本體碼加權(quán)求和公式 S=Sum(Ai*Wi),i=0,...,16,先對(duì)前17位數(shù)字的權(quán)求和 Ai:表示第i位置上的身份證號(hào)碼數(shù)字值 Wi:表示第i位置上的加權(quán)因子 Wi:7910584216379105842

            2)計(jì)算模 Y=mod(S,11)

            3)通過(guò)模得到對(duì)應(yīng)的校驗(yàn)碼 :012345678910 驗(yàn)碼:10X98765432

            下面是java實(shí)現(xiàn)的代碼

            /**IDCard.javaCreatedon2004-11-517:03:37**/packageorg.yz21.study.idcard;

            /***@authorviolin2004-11-517:03:37*Copyrightwww.yz21.org2003-2004*/publicclassIDCard{//wi=2(n-1)(mod11)finalint[]wi={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1};

            //verifydigitfinalint[]vi={1,0,X,9,8,7,6,5,4,3,2};

            privateint[]ai=newint[18];

            publicIDCard(){}

            //verifypublicbooleanVerify(Stringidcard){if(idcard.length()==15){idcard=uptoeighteen(idcard);}if(idcard.length()!=18){returnfalse;}Stringverify=idcard.substring(17,18);if(verify.equals(getVerify(idcard))){returntrue;}returnfalse;}

            //getverifypublicStringgetVerify(Stringeightcardid){intremaining=0;

            if(eightcardid.length()==18){eightcardid=eightcardid.substring(0,17);}

            if(eightcardid.length()==17){intsum=0;for(inti=0;i<17;i++){Stringk=eightcardid.substring(i,i+1);ai=Integer.parseInt(k);}

            for(inti=0;i<17;i++){sum=sum+wi*ai;}remaining=sum%11;}

            returnremaining==2?"X":String.valueOf(vi[remaining]);}

            //15updateto18publicStringuptoeighteen(Stringfifteencardid){Stringeightcardid=fifteencardid.substring(0,6);eightcardid=eightcardid+"19";eightcardid=eightcardid+fifteencardid.substring(6,15);eightcardid=eightcardid+getVerify(eightcardid);returneightcardid;}

            }

            測(cè)試代碼:使用的單元測(cè)試工具是junit

            /**IDCardTest.javaCreatedon2004-11-517:32:12**/packageorg.yz21.study.idcard;

            importjunit.framework.Test;importjunit.framework.TestCase;importjunit.framework.TestSuite;

            /***@authorviolin2004-11-517:32:12*Copyrightwww.yz21.org2003-2004*/publicclassIDCardTestextendsTestCase{

            privateStringidcard1="11010519491231002X";privateStringidcard2="440524188001010014";

            publicvoidtestVerify(){IDCardidcard=newIDCard();this.assertTrue(idcard.Verify(idcard1));this.assertTrue(idcard.Verify(idcard2));}

            publicstaticTestsuite(){returnnewTestSuite(IDCardTest.class);}

            publicstaticvoidmain(String[]args){junit.textui.TestRunner.run(suite());}}
          posted @ 2006-07-08 16:38 吳名居 閱讀(313) | 評(píng)論 (0)編輯 收藏

          主站蜘蛛池模板: 马山县| 惠安县| 阜阳市| 昭平县| 盘山县| 广德县| 墨竹工卡县| 济阳县| 桓台县| 竹北市| 高阳县| 无锡市| 铜陵市| 福鼎市| 安仁县| 宜章县| 集贤县| 格尔木市| 兴安盟| 晋城| 河津市| 荣成市| 柏乡县| 甘孜县| 盐城市| 丰台区| 云浮市| 孟津县| 高台县| 余姚市| 汕尾市| 瑞丽市| 珲春市| 清水县| 西城区| 张家川| 甘孜县| 晋宁县| 石渠县| 宜州市| 湛江市|