当前位置: 代码迷 >> Java相关 >> 杨辉三角形,怎么提示输入行数后输入一个数字运行错误?
  详细解决方案

杨辉三角形,怎么提示输入行数后输入一个数字运行错误?

热度:141   发布时间:2013-01-16 21:35:23.0
杨辉三角形,怎么提示输入行数后输入一个数字运行错误?
import java.util.*;
import javax.swing.JOptionPane;
public class TesArray04{
    public static void main(String[] atgs){
        int n;
        String str;
        str = JOptionPane.showInputDialog("请输入要显示的行数");
        n=Integer.parseInt(str);
        int[][] a=new int[n][];
        for(int i=0;i<n;i++){
            a[i]=new int[i+2];
        }
        a[0][0]=1;
        a[1][0]=1;
        a[1][1]=1;
        for(int i=0;i<a.length;i++){
            for(int j=1;j<=1;j++){
                a[i][0]=1;
                a[i][j]=a[i-1][j]+a[i-1][j-1];
            }
        }
        for(int i=0;i<a.length;i++){
            for(int j=0;j<=i;j++)
                System.out.print(""+a[i][j]);
            System.out.println();
        }
    }
}




――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1
    at TesArray04.main(TesArray04.java:19)
搜索更多相关的解决方案: void  public  import  三角形  

----------------解决方案--------------------------------------------------------
下标溢出了
for循环中
i=0的时候,i-1=-1,所以会溢出


[ 本帖最后由 w527705090 于 2013-1-16 22:23 编辑 ]
----------------解决方案--------------------------------------------------------