java.lang.ArrayIndexOutOfBoundsException是怎么回事啊

来源:百度知道 编辑:UC知道 时间:2024/07/02 14:45:59
程序编译没问题,怎么会出现这个错误的呢?
程序如下:
/**
* @(#)k_means.java
*
*
* @author
* @version 1.00 2007/8/15
*/
import java.math.*;
import java.math.BigDecimal;
import java.math.BigInteger;

public class k_means
{

public static void main(String args[])
{
double a[];
double fenji[],cluster1[],cluster2[];
int i,j,k,m,n,q,w,e;

a=new double[10];
fenji=new double[10];cluster1=new double[10];cluster2=new double[10];

for(i=0;i<=9;i++)
{
a[i]=i*2.0+1.0;
System.out.print(" "+a[i]);
}

for(j=0;j<9;j++)
{
for(k=0;k<=9;k++)
{
if(a[k]-a[j]<=5.0)
{
for(m=0;;)
{
cluster1[m]=a[k];
System.out.println("cluster1:"+" "+m+clust

数组下标越界了,就是说,数组一共只有10个元素,却企图取出第11个来。
你的for(){} 循环最好是三个表达式都写上,如for(i=0;i<10;i++){},而不要露写,因为你中间41行的代码下标越界就是上面的循环露写循环条件导致的。