如果split中的分割参数在字符串中有连续的几个,那么保存在数组里的将会是会么?
是""还是null ? 还是那个参数?
好像这三种答案都不对!class SplitTest {
public static void main(String args[]) {
String str = "abc   d   efg";
String[] arrStr;
public void test() {

String what;
what = "";  //此外应该输入什么字符??
arrStr = str.split(" ");  //用空格来分割
System.out.println("切割后长度为:" + arrStr.length);
for(int i=0; i<arrStr.length; i++) {
if(!(arrStr[i]==what))
System.out.println(arrStr[i]);
else
System.out.println("空格");

}
}
}
}

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【wxl543】截止到2008-07-22 15:25:36的历史汇总数据(不包括此帖):
    发帖的总数量:6                        发帖的总分数:200                      每贴平均分数:33                       
    回帖的总数量:8                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:6                        结贴的总分数:200                      
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    敬礼!
      

  2.   

    按照空格分割之后,你这个字符串3个啊。你好好看看split的JDK吧,很详细徳
      

  3.   


    class SplitTest {    public static void main(String args[]) {
            String str = "abc  d  efg";
            String[] arrStr;        String what;
            what = "";  //此外应该输入什么字符??        arrStr = str.split(" ");  //用空格来分割        System.out.println("切割后长度为:" + arrStr.length);
            for (int i = 0; i < arrStr.length; i++) {
                if (!(arrStr[i] == what)) {
                    System.out.println(arrStr[i]);
                } else {
                    System.out.println("空格");
                }
            }
        }
    }不知道你代码里的test()是个什么东西。
    以空格分隔的话,你的"abc  d  efg"是这样组成的abc空格空格d空格空格efg"
    所以以空格做分隔的话得到的结果数组长度为5,内容是0:abc 1:""(空串) 2:d 3:""(空串) 4:eft
      

  4.   

    使用空格分隔之后得到的数组中不可能存在空格了。
    所以
    if(!(arrStr[i]==what))
    System.out.println(arrStr[i]);
    else
    System.out.println("空格"); 
    其实是没有意义的。
    总是会执行if部分。
      

  5.   

    可以这样证明一下中间的空串:class SplitTest {    public static void main(String args[]) {
            String str = "abc  d  efg";
            String[] arrStr;        String what = " ";  //此外应该输入什么字符??        arrStr = str.split(" ");  //用空格来分割        System.out.println("切割后长度为:" + arrStr.length);
            for (int i = 0; i < arrStr.length; i++) {
                if (!(arrStr[i].equals(""))) {
                    System.out.println(arrStr[i]);
                } else {
                    System.out.println("空串");
                }
            }
        }
    }注意字符串比较实用equals方法,而不要使用==来判断
      

  6.   

    同意3楼,楼主的代码是怎么回事,自己编译过吗?还有if(!(arrStr[i]==what)) 这一句有用吗?如果要达到你想的功能,把"=="变成"equals"
      

  7.   


    public class TestSplit {    public TestSplit() 
        {
        }
        public static void main (String[] args) 
        {
        
         String str = "abc d e fg";
         String[] arrStr;
        
         String what="";
         arrStr = str.split(" ");
         System.out.println("切割后的长度:"+ arrStr.length);
         for(int i=0;i<arrStr.length;i++) 
         {
         if(!(arrStr[i]==what))
         System.out.println(arrStr[i]);
         else
         System.out.println("空");
         }
        }
    }运行结果:
    切割后的长度:4
    abc
    d
    e
    fg
      

  8.   

    对于使用多个空格的情况,可以是使用正则表达式简单的替换一下,将多个空格替换为1个空格,然后使用空格来split就可以了。class SplitTest {    public static void main(String args[]) {
            String str = "abc      d  efg";
            str = str.replaceAll("[ ]+", " ");
            String[] arrStr;        String what = " ";        arrStr = str.split(what);  //用空格来分割        System.out.println("切割后长度为:" + arrStr.length);
            for (String temp : arrStr) {
                System.out.println(temp);
            }
        /*
        for (int i = 0; i < arrStr.length; i++) {
        if (!(arrStr[i].equals(""))) {
        System.out.println(arrStr[i]);
        } else {
        System.out.println("空串");
        }
        }*/
        }
    }
      

  9.   

    多看看基础http://blog.csdn.net/carefree31441
      

  10.   

    class SplitTest {
    public static void main(String args[]) {
    String str = "abc'd'''efg";
    String[] arrStr; String what;
    what = ""; // 此外应该输入什么字符??
    arrStr = str.split("'"); // 用空格来分割
    System.out.println("切割后长度为:" + arrStr.length);
    for (int i = 0; i < arrStr.length; i++) {
    if (!(arrStr[i] == what))
    System.out.println(arrStr[i]);
    else
    System.out.println("空格"); }
    }
    }
    结果数组里肯定是""
      

  11.   

    字符串"abc....d..g...."
    把它分割后是什么样的?是不是
    abc
    .
    .
    .
    d
    .
    g
    .
    .
    .最初的贴子我没有把问题陈述清楚.