wonderer's program

          everything will be better
          posts - 19, comments - 6, trackbacks - 0, articles - 0
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          日歷

          <2007年12月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          my friends

          • 以前的blog
          • 以前寫blog的地方,學(xué)校的校園網(wǎng)上這個(gè)網(wǎng)站很慢,而且經(jīng)常會(huì)撞墻
          • 陳大哥
          • 這位仁兄專注于java/j2ee/mysql技術(shù),非常專業(yè).是一個(gè)不可多得的良師益友.

          搜索

          •  

          積分與排名

          • 積分 - 32849
          • 排名 - 1313

          最新評(píng)論

          Java中的全角和半角

          Posted on 2007-12-23 16:46 wonderer 閱讀(1944) 評(píng)論(3)  編輯  收藏 所屬分類: java
          OYM中的任務(wù)中,有一項(xiàng)對(duì)文件內(nèi)容的檢查挺有意思的,就是要檢查字符是否是全角的,例如“GY”(not“GY”),并且把這些字符改為半角的。
          想起了在研發(fā)中心的一個(gè)朋友的抱怨:“昨天寫了一整天的程序,發(fā)到廣大教務(wù)處那邊居然說(shuō)不能用,然后親自跑了一躺,發(fā)現(xiàn)不是我的程序有問題,是那邊的人輸入個(gè)全角字符,搜半角的字符,當(dāng)然不行了”
          恩,Betty寫的需求真有意思,考慮的問題很周全,是一個(gè)很厲害的項(xiàng)目經(jīng)理。如果從輸入這里解決了字符是否是半角的,那么,以后的情況就容易解決很多了。恩,網(wǎng)上搜了一下資料,查了一下書,得出了以下代碼:
          public void testChar() {
            String s1 
          = "123";
            String s2 
          = "abc";
            String s3 
          = "123abc";
            System.out.println(s1);
            System.out.println(s2);
            System.out.println(s3);
            
          for (int i = 0; i < s1.length(); i++) {
             
          int j = s1.charAt(i);
             
          if (j > 256) {
              
          int temp = j - 65248;
              
          if (temp >= 0) {
               System.out.print((
          char)j+"-->:" + (char) temp);
              } 
          else {
                System.out.print((
          char) j);
              }
             } 
          else {
              System.out.print((
          char) j);
             }
            }
            System.out.println();
            
            
          for (int i = 0; i < s2.length(); i++) {
             
          int j = s2.charAt(i);
             
          if (j > 256) {
              
          int temp = j - 65248;
              
          if (temp >= 0) {
               System.out.print((
          char)j+"-->:" + (char) temp);
              } 
          else {
               System.out.print((
          char) j);
              }
             } 
          else {
              System.out.print ((
          char) j);
             }
            }
            System.out.println();
            
            
          for (int i = 0; i < s3.length(); i++) {
             
          int j = s3.charAt(i);
             
          if (j > 256) {
              
          int temp = j - 65248;
              
          if (temp >= 0) {
                System.out.print((
          char)j+"-->:" + (char) temp);
              } 
          else {
               System.out.print((
          char) j);
              }
             } 
          else {
              System.out.print((
          char) j);
             }
            }
            System.out.println();
           
           }
          輸出的結(jié)果如下:
          123
          -->ab-->bc--c
          123a
          -->ab-->bc--c



          評(píng)論

          # re: Java中的全角和半角  回復(fù)  更多評(píng)論   

          2007-12-23 17:12 by 黑蝙蝠
          樓主注釋下吧

          # re: Java中的全角和半角  回復(fù)  更多評(píng)論   

          2007-12-23 17:46 by beyond
          全角空格為12288,半角空格為32
          其他字符半角(33-126)與全角(65281-65374)的對(duì)應(yīng)關(guān)系是:均相差65248

          # re: Java中的全角和半角  回復(fù)  更多評(píng)論   

          2007-12-27 23:23 by wonderer
          @黑蝙蝠
          只是覺得代碼比較簡(jiǎn)單,所以沒注釋,呵呵,不過寫代碼還是養(yǎng)成好習(xí)慣的比較好。
          主站蜘蛛池模板: 舟山市| 崇明县| 夏津县| 台山市| 康保县| 麻城市| 潢川县| 莱阳市| 民权县| 全南县| 惠安县| 正蓝旗| 务川| 南川市| 诸城市| 堆龙德庆县| 元氏县| 仲巴县| 莱州市| 牟定县| 连云港市| 论坛| 阳江市| 三穗县| 兴海县| 邳州市| 内江市| 甘孜| 休宁县| 芦山县| 黔西县| 华阴市| 佛教| 徐水县| 刚察县| 仲巴县| 湖南省| 揭西县| 临江市| 阿合奇县| 从江县|