编程论坛's Archiver

xiaolaba3330 发表于 2008-4-14 22:58

求助;程序结果运行出来但还提示出错

题目:输出1到100间既能被3也能被7整除的数字
package java1;

public class java1 {
    public java1() {
    }




    public static void main(String[] args) {
       int i,cnt=0;
       int b[]=new int[100];
       int a[]=new int[100];
       for(i=0;i<100;i++)
       {
           a[i]=i+1;
           if(a[i]%3==0 && a[i]%7==0)
           {
              cnt++;
           }
       }
   b=new int[cnt];
  cnt=0;
    for(i=0;i<100;i++)
       {
           a[i]=i+1;
           if(a[i]%3==0 && a[i]%7==0)
           {
              b[cnt]=a[i];
              cnt++;
           }
       }

    for(i=0;i<=cnt;i++)
    {
        System.out.print(b[i]+" ");
    }

    }
}

我运行出了结果软件还报错,为什么?

java.lang.ArrayIndexOutOfBoundsException: 4
        at java1.java1.main(java1.java:36)
21 42 63 84 Exception in thread "main"

aipb2007 发表于 2008-4-15 01:02

错误信息很清楚了啊
数组访问越界,for(i=0;i<=cnt;i++)
i取不到cnt

xiaolaba3330 发表于 2008-4-15 08:55

回复 2# 的帖子

谢谢你!可是哪条错误信息提示的是数组越界啊?

hwoarangzk 发表于 2008-4-15 09:36

java.lang.ArrayIndexOutOfBoundsException

xiaolaba3330 发表于 2008-4-15 09:48

回复 4# 的帖子

thank you  !!!!

zhi1210 发表于 2008-4-15 14:19

ArrayIndexOutOfBoundsException

這個是異常處理中的  數組越界

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.