Java中的三角形模式

Java中的三角形模式,java,Java,我正在用Java创建一个具有特定数字模式的三角形。一旦用户输入了行数,我就很难想出一个输出这些数字/模式的数学方程式: 我的代码工作正常,但数字不正确。有人知道这种模式的方程式吗 我的代码: import java.util.Scanner; public class Triangle { public static void main(String[] args) { Scanner input = new Scanner (System.in);

我正在用Java创建一个具有特定数字模式的三角形。一旦用户输入了行数,我就很难想出一个输出这些数字/模式的数学方程式:

我的代码工作正常,但数字不正确。有人知道这种模式的方程式吗

我的代码:

import java.util.Scanner;
public class Triangle {

    public static void main(String[] args) {
        Scanner input = new Scanner (System.in);
        System.out.println("Enter the number of lines: ");
        int rows = input.nextInt();

        for(int i =0;i<rows;i++) {
            int number = 1;
            System.out.format("%"+(rows-i)*2+"s","");
            for(int j=0;j<=i;j++) {
                System.out.format("%4d",number);
                number = number * (i - j) / (j + 1);

            }
            System.out.println();
        }
    }
}
import java.util.Scanner;
公共阶级三角{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入行数:”);
int rows=input.nextInt();
对于(int i=0;i,正如在的评论中所提到的,2个for循环可以很好地工作:

import java.util.Scanner;

public class Triangle {

    public static void main(String[] args) {
        Scanner input = new Scanner (System.in);
        System.out.println("Enter the number of lines: ");
        int rows = input.nextInt();

        for(int i =0;i<rows;i++) {
            System.out.format("%"+4*(rows-i+1)+"s","");
            for(int j=i+1; j>1; j--)
                System.out.format("%4d", j);
            for(int j=1; j<=i+1; j++)
                System.out.format("%4d", j);

            System.out.println();
        }
    }
}
import java.util.Scanner;
公共阶级三角{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入行数:”);
int rows=input.nextInt();
对于(int i=0;i1;j--)
系统输出格式(“%4d”,j);
对于(int j=1;j)你不需要一个“数学方程”,你只需要两个
循环,一个倒计时,另一个倒计时。--但是,如果你坚持一个循环和一个数学方程,试着将
j
-i
循环到
i
(含),然后打印值
Math.abs(j)+1