二维数组求和问题,大神请进

定义的一个二维数组
int rangle[][] = {
new int[] {
0
}, new int[] {
0, 0
}, new int[] {
0, 0, 0
}, new int[] {
0, 0, 0, 0
}, new int[] {
4, 5, 2, 6, 5
}
};

要的结果是把下面最相邻的两个相加赋值到前面一个位置上,最终结果是
int rangle[][] = {
    new int[] {
        65
    }, new int[] {
        31, 34
    }, new int[] {
        16, 15,19
    }, new int[] {
        9, 7, 8, 11
    }, new int[] {
        4, 5, 2, 6, 5
    }
};


求代码

代码:

import java.util.Arrays;

public class Test1 {
public static void main(String[] args) {
int rangle[][] = {
new int[] {
0
}, new int[] {
0, 0
}, new int[] {
0, 0, 0
}, new int[] {
0, 0, 0, 0
}, new int[] {
4, 5, 2, 6, 5
}
};
for (int i = rangle.length-1; i > 0; i--) {
int arr [] = new int [rangle[i].length-1];
for (int j = 0; j < rangle[i].length-1; j++) {
arr[j] = rangle[i][j]+rangle[i][j+1];
}
rangle[i-1] = arr;
}
for (int i = 0; i < rangle.length; i++) {
System.out.println(Arrays.toString(rangle[i]));
}
}
}

>运行结果:

[65]
[31, 34]
[16, 15, 19]
[9, 7, 8, 11]
[4, 5, 2, 6, 5]

//n为数组得第几维
int[][] function(int[][] rangle,int n){
if(n-1<0){
return rangle;
}
for(int i=1,i<rangle[n].length,i++){
rangle[n-1][i-1]=rangle[n][i]+rangle[n][i-1];
}
retrun function(rangle,n--);
}

public static void main(String[] args) {
int rangle[][] = { new int[] { 0 }, new int[] { 0, 0 }, new int[] { 0, 0, 0 }, new int[] { 0, 0, 0, 0 }, new int[] { 4, 5, 2, 6, 5 } };
for (int i = rangle.length - 1; i > 0; i--) {
int rangleItem[] = rangle[i];
for (int j = 0; j < rangleItem.length - 1; j++) {
rangle[i - 1][j] = rangleItem[j] + rangleItem[j + 1];
}
}
}

import java.util.Scanner;

public class 二维数组 {

/*
 * 自己输入底层数据,输出二维数组
 * */
public static void main(String[] args) {

    System.out.println("请输入底层的数字,用,隔开");
    Scanner sc = new Scanner(System.in);
    String line = sc.nextLine();
    String[] a = line.split(",");
    int[] arr = new int[a.length];
    for(int i =0 ;i<a.length;i++){
        arr[i] = Integer.parseInt(a[i]);
    }
    int[][] doubleArray = getdoubleArray(arr.length);
    doubleArray[arr.length-1] = arr;
    for(int i =arr.length-2;i>=0;i--){
        int[] rows = doubleArray[i];

        for(int j=rows.length-1;j>=0;j--){
            doubleArray[i][j] = doubleArray[i+1][j]+doubleArray[i+1][j+1];
        }

    }


    for(int i = 0;i<doubleArray.length;i++){
        int[] arr3 = doubleArray[i];
        for(int j =0;j<arr3.length;j++){
            System.out.print(addBlank(doubleArray[i][j])+" ");
        }
        System.out.println();
    }



}

public static int[][] getdoubleArray(int n){
    int[][] doubleArray = new int[n][]; 
    while(n>=1){
        int[] arr = new int[n]; 
        doubleArray[n-1] = arr;
        n--;

}
return doubleArray;
}
public static String addBlank(int n){
if(n<10){
return " "+n;
}else{
return ""+n;
}
}
}