for循环中的一个错误

来源:互联网 发布:wifi通话软件 编辑:程序博客网 时间:2024/06/04 23:29
package com.han.demo;
/**
 * 不同类型的数组赋值和使用
 * @author Administrator
 *
 */
public class ShuZu3 {
public static void main(String[] args) {
//数组类型
int i;
double[] a1;
char[] a2;

//初始化
a1=new double[8];
a2=new char[8];
int[] a3=new int[8];
byte[] a4=new  byte[8];
char[] a5={'a','b','c','d','e','f','g','h'};
//输出各个数组长度
System.out.println("a1.length="+a1.length);
System.out.println("a2.length="+a2.length);
System.out.println("a3.length="+a3.length);
System.out.println("a4.length="+a4.length);
System.out.println("a5.length="+a5.length);

//以下各句引用数组中的每一个元素,并赋值
for (i=0; i <a1.length; i++) {
a1[i]=100.0+i;
}
for ( i = 0; i < a2.length; i++) {
a2[i]=(char) (i+97);
}
for ( i = 0; i< a3.length; i++) {
a3[i]=i;
}
//打印各数组中的元素
System.out.println("\ta1\ta2\ta3\ta4\ta5");
System.out.println("\tdouble\tchar\tint\tbyte\tchar");
for (int d = 0; d< 8; d++) 
System.out.println("\t"+a1[i]+"\t"+a2[i]+"\t"+a3[i]+"\t"+a4[i]+"\t"+a5[i]);
}

}

***********************************************************************************************报的错误*******************************************************************************

a1.length=8
a2.length=8
a3.length=8
a4.length=8
a5.length=8
a1 a2a3 a4 a5
double char int byte char
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8
at com.han.demo.ShuZu3.main(ShuZu3.java:41)

***************************************************************************************************

红色标注的就是错误信息和出错的地方,之前定义过int i;所以后面不能用该名字不会报错,运行会报错,把int去掉就可以用定义过的i了。

原创粉丝点击