当前位置: 代码迷 >> Eclipse >> 初学者新人一个程序
  详细解决方案

初学者新人一个程序

热度:91   发布时间:2016-04-23 12:46:28.0
菜鸟新人求助一个程序
package Day01;

public class Test {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
char[][]poem={{'辛','苦','遭','逢','起','一','经'},
{'干','戈','寥','落','四','周','星'},
{'山','河','破','碎','风','飘','絮'},
{'身','世','浮','沉','雨','打','萍'},
{'惶','恐','滩','头','说','惶','恐'},
};
for(int i = 0;i<poem[0].length;i++){
System.out.println();
for(int j = 0;j<poem.length;j++){
System.out.print(poem[poem.length-j-1][i]+"");
}
System.out.println();
}
 
}

}



程序中 i<poem[0],是什么意识,如果换成i <poem[i],为什么提示错误
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
  at Day01.Test.main(Test.java:16)
菜鸟求助,谢谢

------解决方案--------------------
poem[0].length 表示第一个数组的子数组长度是多少,也即红字部分:

char[][]poem={{'辛','苦','遭','逢','起','一','经'},
{'干','戈','寥','落','四','周','星'},
{'山','河','破','碎','风','飘','絮'},
{'身','世','浮','沉','雨','打','萍'},
{'惶','恐','滩','头','说','惶','恐'},
};
------解决方案--------------------
i<poem[0].length

char[][]poem={{'辛','苦','遭','逢','起','一','经'},
{'干','戈','寥','落','四','周','星'},
{'山','河','破','碎','风','飘','絮'},
{'身','世','浮','沉','雨','打','萍'},
{'惶','恐','滩','头',' 说','惶','恐'},
};


poem[0] = {'辛','苦','遭','逢','起','一','经'} ;
算出他有几个元素 :6 下标: 0 ~5 

poem.length

算出 数组有几个 char[]数组 : 5 , 下标为 0~4 ;

  相关解决方案