zoukankan      html  css  js  c++  java
  • java.lang.ArrayIndexOutOfBoundsException

    闲着蛋疼,看了下杨辉三角的代码,也自此发现杨辉三角是神一样的东西,如果你看到这篇博客,请你一定百度下杨辉三角

    java代码输出如下

     1 /**
     2  * 
     3  */
     4 package com.yuxi.demo;
     5 
     6 /**
     7  * @ClassName: YanghuiTriangle
     8  * @Description: TODO(这里用一句话描述这个类的作用)
     9  * @author yuxi 
    10  * @date 2015-6-28 上午8:52:52
    11  *
    12  */
    13 public class YanghuiTriangle {
    14     public static void main(String[] args) {
    15         int triangle[][]=new int[12][];// 创建二维数组
    16         // 遍历二维数组的第一层
    17         for (int i = 0; i <= triangle.length; i++) { //这里是产生异常的关键Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 12
    18                                                     //at com.yuxi.demo.YanghuiTriangle.main(YanghuiTriangle.java:20)
    19 
    20 
    21       //      System.out.println("triangle.length is "+triangle.length);
    22             triangle[i]=new int[i+1];// 初始化第二层数组的大小
    23             // 遍历第二层数组
    24             for(int j=0;j<=i;j++){
    25                 // 将两侧的数组元素赋值为1
    26                 if(i==0||j==0||j==i){
    27                     triangle[i][j]=1;
    28                 }else{// 其他数值通过公式计算
    29                     triangle[i][j]=triangle[i-1][j]+triangle[i-1][j-1];
    30                 }
    31                 System.out.print(triangle[i][j]+"	");         // 输出数组元素
    32             }
    33             System.out.println();               //换行
    34         }
    35     }
    36 }
    View Code

    输出结果如下

     1 1    
     2 1    1    
     3 1    2    1    
     4 1    3    3    1    
     5 1    4    6    4    1    
     6 1    5    10    10    5    1    
     7 1    6    15    20    15    6    1    
     8 1    7    21    35    35    21    7    1    
     9 1    8    28    56    70    56    28    8    1    
    10 1    9    36    84    126    126    84    36    9    1    
    11 1    10    45    120    210    252    210    120    45    10    1    
    12 1    11    55    165    330    462    462    330    165    55    11    1    
    13 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 12
    14     at com.yuxi.demo.YanghuiTriangle.main(YanghuiTriangle.java:20)
    View Code

    在代码中 for (int i = 0; i <= triangle.length; i++),用了<=符号,就成了这了,原因在于java中,数组下标=数组长度,就警告了

  • 相关阅读:
    JS基础三
    淘宝 NPM 镜像使用
    zepto的tap事件的点透问题的几种解决方案
    Web 通信 之 长连接、长轮询(long polling)(转载)
    命令模式坚决svn树冲突(local unversioned, incoming add upon update)
    svn st 状态详解
    Atom与markdown
    chrome调试创建sq设备进行调试
    webpack 使用教程--实时刷新测试
    前端资源
  • 原文地址:https://www.cnblogs.com/yuxishua/p/4613949.html
Copyright © 2011-2022 走看看