杨辉三角代码问题,有一行代码不明白#java

public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
a(n);
}

private static void a(int n) {
    int [][] v = new int [n][n];
    for(int i = 0; i < n; i++){
        v[i][0] = 1;
        v[i][i] = 1;
        for(int j = 0; j < n; j++){
            if((i >= 2) && (j>0&&j<n)){
                v[i][j] = v[i-1][j-1] + v[i-1][j];
            }
        }
    }
      其中的  if((i >= 2) && (j>0&&j<n)){
              
            }                                                       这行代码是什么意思  麻烦解释一下 

解决这个问题我们要了解一些杨辉三角的特点。
杨辉三角的特点:

  1. 第一行固定是一个 1
  2. 第二行也固定是两个 1
  3. 第 i 行, 首尾元素都是 1
  4. 第 i 行有 i 个元素
  5. 对于第 i 行来说, 第 j 列的值就是 i - 1 行的第 j - 1 列的值加第 j 列的值
    (i, j) = (i - 1, j) + (i - 1, j - 1)

    杨辉三角如图:

    img


    根据红框部分:

img

  1. 第一行固定是一个 1
  2. 第二行也固定是两个 1
  3. 第 i 行, 首尾元素都是 1
    主要实现的就是这三个特点

而下面红框这一部分:

img


实现的是:
5. 对于第 i 行来说, 第 j 列的值就是 i - 1 行的第 j - 1 列的值加第 j 列的值
(i, j) = (i - 1, j) + (i - 1, j - 1)
这个特点。
解决了这些,借助for循环遍历实现就可以了。
希望对题主有所帮助,望采纳!