<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    用頓號將若干個字符串分隔開

    錯誤做法:

     String[] words
    = { " a " , " b " , " c " } ;
     String word
    = "" ;

     
    for ( int  i = 0 ;i < words.length;i ++ )
     
    {
         word
    += words[i]+ " " ;
     }


     正確做法:

     String[] words
    = { " a " , " b " , " c " } ;
     String word
    = "" ;

     
    for ( int  i = 0 ;i < words.length;i ++ )
     
    {
         
    if  ( ! word.equals( "" )) 
         word
    += " " ;
         word
    += words[i];
     }




    posted on 2007-02-27 08:20 我為J狂 閱讀(2736) 評論(15)  編輯  收藏 所屬分類: Java算法

    評論

    # re: 用頓號將若干個字符串分隔開 2007-02-27 08:33 easyrun

    if ( ! word.equals( "" ))
    最好改為!"".equals(word)
    因為如果word在前的話很容易引起nullPoint異常  回復  更多評論   

    # re: 用頓號將若干個字符串分隔開 2007-02-27 08:44 我為J狂

    真是金玉良言,我會在以后的開發過程中加以改進的。  回復  更多評論   

    # re: 用頓號將若干個字符串分隔開 2007-02-27 09:33 永恒之光

    其實要認省點代碼。這樣就不用比較NULL了。
    for ( int i = 0 ;i < words.length-1;i ++ )  回復  更多評論   

    # re: 用頓號將若干個字符串分隔開 2007-02-27 09:37 Lingo

    別在循環里用+號哦  回復  更多評論   

    # re: 用頓號將若干個字符串分隔開 2007-02-27 10:02 我為J狂

    “永恒之光”的方法真妙!以上的程序改為:
    String[] words = { " a " , " b " , " c " } ;
    String word = "" ;
    int i=0;
    for ( i = 0 ;i < words.length-1;i ++ )
    {
    word+=words[i]+" 、 ";
    }
    word +=words[i];
    不但節省了代碼,而且不用比較NULL了。

    對于 Lingo提出的問題“別在循環里用+號”,我不知道其中的原因,請Lingo解釋一下,謝謝。  回復  更多評論   

    # re: 用頓號將若干個字符串分隔開 2007-02-27 10:56 hcom

    不用+ 的話,就不要用String了,只好用StringBuffer咯

      回復  更多評論   

    # re: 用頓號將若干個字符串分隔開 2007-02-27 11:12 我為J狂

    是不是將程序改成這樣?
    String[] words = { " a " , " b " , " c " } ;
    StringBuffer word =new StringBuffer("");
    int i=0;
    for ( i = 0 ;i < words.length-1;i ++ )
    {
    word=word.append(new StringBuffer(words[i]).append(" 、 "));
    }
    word=word.append(words[i]);
    如果這樣寫,代碼的可讀性降低,很不好理解。
    我想Lingo提出“別在循環里用+號”另有涵義。  回復  更多評論   

    # re: 用頓號將若干個字符串分隔開 2007-02-27 12:00 hcom

    String[] words = { " a ", " b ", " c " };
    StringBuffer word = new StringBuffer("");
    int i = 0;
    for (i = 0; i < words.length - 1; i++) {
    word.append(words[i]).append("、");
    }
    word.append(words[i]);


    這樣不可以嗎??  回復  更多評論   

    # re: 用頓號將若干個字符串分隔開 2007-02-27 12:27 我為J狂

    呵呵,是我將程序寫復雜了,見笑了。  回復  更多評論   

    # re: 用頓號將若干個字符串分隔開 2007-03-05 23:09 dreamstone

    @我為J狂
    Equals的時候盡量用"內容"開頭,這樣不用判斷空

    正如Lingo說的不要在循環中使用字符串的+,因為字符串是非可變的對象,使用+基本上等于new StringBuffer() apend() apend() toString。比直接使用StringBuffer多了一次new,如果寫在循環中會很大程度降低效率。

    如果是Jdk1.5可以在StringBuilder和StringBuffer之間選擇一下,原因可以看看這里http://www.tkk7.com/dreamstone/archive/2006/10/17/75608.html  回復  更多評論   

    # re: 用頓號將若干個字符串分隔開 2007-03-05 23:13 dreamstone

    @我為J狂
    int i = 0;
    for (i = 0; i < words.length - 1; i++) {
    word.append(words[i]).append("、");
    }
    這種寫法不太好,呵呵。因為容易犯復制粘鐵錯誤,如出現
    等同于for 循環的迭代好于while循環
    這樣比較好點。
    for (int i = 0; i < words.length - 1; i++) {
    word.append(words[i]).append("、");
    }
      回復  更多評論   

    # re: 用頓號將若干個字符串分隔開 2007-03-05 23:17 dreamstone

    另外關于分割的情況,如果使用、分割有的時候會有些限制,比如用戶恰好輸入了、,這個時候需要轉義,是挺麻煩的事情,有個解決方案是這樣,可以使用用戶不可能輸入的字符來分割,例如(char)1 看上去就是個亂碼,呵呵

    你的表真有意思,剛才正好23:00,一頓響,嚇了我一跳一以為中病毒了。  回復  更多評論   

    # re: 用頓號將若干個字符串分隔開 2007-03-06 11:23 我為J狂

    @dreamstone
    寫成您說的那樣更改:
    for (int i = 0; i < words.length - 1; i++) {
    word.append(words[i]).append("、");
    }

    那么我最后一行的代碼:word.append(words[i]);
    其中的變量i就沒有定義了,顯然是不行的。

    對于您提出的粘貼錯誤問題我能理解;我舉例說明一下,
    //代碼1
    for(Iterator it=list.iterator();it.hasNext();)
    {
    }
    //代碼2
    Iterator it=list.iterator();
    while(it.hasNext())
    {
    }
    對于以上兩段代碼,代碼1發生粘貼錯誤的幾率要遠遠小于代碼2。  回復  更多評論   

    # re: 用頓號將若干個字符串分隔開 2007-03-09 09:35 slx

    那就這么寫吧
    for (int i = 0; i < words.length; i++) {
    if(i != 0){
    world.append("、");
    }
    word.append(words[i]);
    }
      回復  更多評論   

    # re: 用頓號將若干個字符串分隔開 2007-03-09 18:01 我為J狂

    @slx
    哈哈,到目前為止,您的方法最棒!謝謝。  回復  更多評論   

    <2007年3月>
    25262728123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    常用鏈接

    留言簿(11)

    隨筆分類(48)

    文章分類(29)

    常去逛逛

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲欧洲日产国码高潮αv| 国产成人3p视频免费观看| 亚洲精品乱码久久久久久按摩| 国产精品久久亚洲一区二区| 在线看片人成视频免费无遮挡| 国产精品亚洲综合五月天| 免费毛片在线看片免费丝瓜视频| 亚洲精品免费网站| 小小影视日本动漫观看免费| 国产午夜亚洲精品不卡| 九月婷婷亚洲综合在线| 国产精品福利片免费看| 亚洲精品国精品久久99热一| 一级毛片**不卡免费播| 国产亚洲国产bv网站在线| 日韩免费在线观看| 人妖系列免费网站观看| 亚洲成AV人片天堂网无码| 亚洲精品国产免费| 亚洲欧美日韩久久精品| 亚洲成aⅴ人片久青草影院| 成人免费乱码大片A毛片| 亚洲国产一区国产亚洲| 毛片免费观看视频| 日本一区二区三区在线视频观看免费 | 亚洲中久无码不卡永久在线观看| 国产精品免费久久久久久久久 | 亚洲美女一区二区三区| 成人免费午夜无码视频| 老司机午夜免费视频| 亚洲AV无码久久寂寞少妇| 黄页免费的网站勿入免费直接进入| 亚洲国产成人无码AV在线影院| 久久久久亚洲精品中文字幕| 免费国产黄网站在线观看视频| 亚洲AV无码一区二区三区性色| 亚洲伦乱亚洲h视频| 毛片无码免费无码播放| 亚洲AV成人无码网天堂| 亚洲国产成人久久精品影视| 好爽…又高潮了免费毛片|