Board logo

标题: 练习运行错误,怎么回事,望解答 [打印本页]

作者: 维尼豆豆    时间: 2011-10-8 15:55     标题: 练习运行错误,怎么回事,望解答

public class yanghui
{
        public static void main(String[] args)
         {
            int count=10;
            int yanghui[][]=new int[count][0];
            for(int i=0;i<=count;i++)
            {
                    yanghui[i]=new int[i+1];  //这句出现错误;二维数据可以这样用是吗,不知道怎么改;   
                    for(int j=0;j<=i;j++)
                {
                        if (i==0)
                                yanghui[i][j]=1;
                        else
                        {
                                int value=0;
                                if(j>=1)
                                value+=yanghui[i-1][j-1];
                            if(j<i)
                                    value+=yanghui[i-1][j];
                                    yanghui[i][j]=value;
                    }       
                }       
            }
            for(int i=0;i<count;i++)
                       {
                      for(int j=0;j<=i;j++)
                              System.out.println(yanghui[i][j]+"\t");
                      System.out.println();
                       }
    }
}
求解答,我用的是eclipse
作者: deepnighttwo    时间: 2011-10-9 09:11

首先说一句跟这个问题没关系的,问问题必须要把错误是什么说清楚,而不仅仅是哪里出错了。具体看http://www.wanjuanchina.net/thread-857-1-1.html

这段代码在我这里编译没错,运行出错时因为java.lang.ArrayIndexOutOfBoundsException。原因是
            int yanghui[][]=new int[count][0];      <--数组下标从0到count-1,一共count个元素
            for(int i=0;i<=count;i++)     <-- 这里不应该是i<=count,而是<count,因为数组下标最大为count-1




欢迎光临 万卷图书 (http://wanjuanchina.net/) Powered by Discuz! 7.0.0