数组长度无法输出显示有关问题
数组长度无法输出显示问题?
本人是Java新手一只..
在看一本叫[从入门到精通Java]的书
其中有一课题讲的是关于数组的..
我按照范例所写的代码在Eclipse SDK Version: 3.7.2
会出现
这样的错误
我的代码是
另外 我只有一点点编程的基础 希望各位CSDN的大神推荐基本适合我看的Java书籍
感谢
------解决方案--------------------
for(i=0;i<=a.length;i++)
--> for(i=0;i<a.length;i++)
数组的下标 是 : 0 ~ a.length -1
本人是Java新手一只..
在看一本叫[从入门到精通Java]的书
其中有一课题讲的是关于数组的..
我按照范例所写的代码在Eclipse SDK Version: 3.7.2
会出现
- Java code
a[0] = 5 a[1] = 6 a[2] = 8 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3 at TestJavayiweifuzhi.main(TestJavayiweifuzhi.java:12)
这样的错误
我的代码是
- Java code
public class TestJavayiweifuzhi { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int i ; int a[]={5,6,8}; for(i=0;i<=a.length;i++) System.out.println("a["+i+"] = "+a[i]); System.out.println("数组的长度是"+a.length); } }
另外 我只有一点点编程的基础 希望各位CSDN的大神推荐基本适合我看的Java书籍
感谢
------解决方案--------------------
for(i=0;i<=a.length;i++)
--> for(i=0;i<a.length;i++)
数组的下标 是 : 0 ~ a.length -1
- Java code
package a; public class Test0 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int i ; int a[] = {5, 6, 8}; for(i = 0; i < a.length; i++) System.out.println("a["+i+"] = "+a[i]); System.out.println("数组的长度是"+a.length); } }
------解决方案--------------------
java.lang.ArrayIndexOutOfBoundsException: 数组越界了
数组的范围 是0 到 length-1
int i ;
int a[]={5,6,8};
for(i=0;i<a.length;i++){
System.out.println("a["+i+"] = "+a[i]);
System.out.println("数组的长度是"+a.length);
}
------解决方案--------------------
for(i=0;i<=a.length;i++)
这里不是这样的
for(i=0;i<a.length;i++)
这样就好了
数组是重0算的,length是1开始算所以你要小于length不能等于,当等于时就数组越界了,就是超出数组的范围了
------解决方案--------------------
多循环了一次。数组下标是从0开始,数组长度是3,你判断条件是小于等于数组长度,这样循环就要0、1、2、3四次了,但是其实这个数组只到2就结束了,所以超过了就报越界错误。
虽然书有写的好坏,但是对于新手来说,差不到哪里去。所以最关键的是坚持,一定要敲代码,反复看反复敲就学得会,你可以看看马士兵的视频吧。