String[] a={}
for(int i=0,i<a.length,i++){
System.out.println(a.length);
String b=a[i];
System.out.println(b);}
输出的结果是13
null
13
null
。。
null
13   为什么啊?

解决方案 »

  1.   

    你的String数组长度是13,里面某些元素是null呗
    如:
    String[] a = new String[]{"2",null,"ddd",...}
      

  2.   

    忽悠,你的for循环写的对吗?
    三个条件之间用;分隔,不是逗号。
    你这编译都通不过,怎么可能有运行结果?
    再者说,就算你编译通过了怎么可能出现那个结果。debug跟踪一下,没必要浪费时间在这种问题上吧。
      

  3.   


    public class Test {
        public static void main(String[] args) {
            String[] a = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m"};
            for (int i = 0; i < a.length; i++) {
                System.out.println(a.length);
                String b = a[i];
                System.out.println(b);
            }
        }
    }结果完全正确啊,楼主循环里面都是“逗号”。。
    楼主最好把代码贴完整
      

  4.   

    你在重新写一次你的代码,你的语法是对的,照你这样写的,给数组a赋值后,a的长度为13,应该不可能为null的
      

  5.   

    1、"Stirng[] a = {}" 这里没有分号结束,再说了,就算有分号,数组a的长度也为0;
    2、"for(int i=0,i<a.length,i++)"这里首先是语法上的错误,for里面用逗号分隔,是用分号。另外,就算语法上没错误,这个循环也不会执行,更不会打印出结果之类的。
      

  6.   

    长度和你的元素有什么关系。
    比如:String[] arr=new String[13];
    你的长度是13,但是里面初始化的数据都是null。很正常呀。
      

  7.   

    关键不是 new 出来的 是 String a={....................}  好好看看题目好不好
      

  8.   

       好好好,我眼拙- -!
       你没有给你初始化的数据,并且你写的for循环也不正确。只能猜测你的原因了
      

  9.   

    如果LZ的for循环正确,那么说明a数组里存的都是null
      

  10.   

    楼主用记事本写程序,别听那些人忽悠了,高手也不用记事本的,除非写第一个 hello world 才用一下记事本。