Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的偶数三角形_Java - Fatal编程技术网

java中的偶数三角形

java中的偶数三角形,java,Java,我怎么能用偶数和空格做同样的三角形呢?。我如何能够不受任何限制地生成偶数,并适应用户输入的行数(用户只输入行数,但不限制生成偶数或奇数) 我想要什么,但他怎么能做到 2 4 6 8 10 12 14 16 18 20 若我理解正确,这很容易,但在数字5之后,数字将相互传递,所以若你们想避免这种情况,你们必须为你们打印的每个数字使用2或3个空格。主三角形可以通过以下方式创建: public static void main(String[] args) { Scan

我怎么能用偶数和空格做同样的三角形呢?。我如何能够不受任何限制地生成偶数,并适应用户输入的行数(用户只输入行数,但不限制生成偶数或奇数)

我想要什么,但他怎么能做到

     2
    4 6
  8 10 12
14 16 18 20

若我理解正确,这很容易,但在数字5之后,数字将相互传递,所以若你们想避免这种情况,你们必须为你们打印的每个数字使用2或3个空格。主三角形可以通过以下方式创建:

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    int row = in.nextInt();
    int allSpace = 2 * row - 1;
    for (int i = 1; i <= row; i++) {
        int allNumber = 2 * i - 1;
        for (int j = 0; j < (allSpace - allNumber) / 2; j++) {
            System.out.print("   ");
        }
        for (int j = 1; j <= allNumber ; j++) {
            System.out.printf("%3d", j);
        }
        for (int j = allNumber - 1; j >= i ; j--) {
            System.out.printf("%3d", j);
        }
        System.out.println();
    }
}
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
int row=in.nextInt();
int allSpace=2*行-1;

对于(inti=1;i,这有点棘手,因为数字的数量会稍微影响对齐

这将有助于:

    int num = 5;
    int cont = 0;
    for (int i = 1; i <= num; i++) {
        for(int k = 1; k <= num -i; k++) System.out.print(" ");
        for(int j = 1; j <= i; j++) {
            cont += 2;
            System.out.print(cont + " ");
        }

    System.out.println ("");
    }
int num=5;
int cont=0;

对于(inti=1;i这将得到您想要的结果

    int rows = 500;

    //Calculating the largest number we will reach:
    int largest = 1;
    for(int i=1;i<=rows;i++){  

        largest=largest + i;    
    } 
    largest=largest*2;//since we only count even numbers


    int cur = 2; //current value to add to the triangle
    int rowsize = 0; //how many values to fit inside the row

    for (int i = 1; i <= rows; i ++) {

        int cursize = 0; //ammount of values currently in the row

        //filling spaces on left side
        //The value is based on how many rows we want, more rows = need for more initial spacing
        String spaces = "";
        for(int j = 0 ; j < (rows + "").length() ; j++) {
            spaces += " ";
        }
        for (int j = 0; j <= rows - i ; j++) {

            System.out.print(spaces);
        }

        while(cursize <= rowsize) {

            //For each number, we calculate how much spacing to place before it
            int len = (largest + "").length() - (cur + "").length();
            spaces = "";
            while(len != 0) {
                spaces += " ";
                len--;
            }

            System.out.print(" " + spaces + cur);
            cur += 2;
            cursize++;

        }

        System.out.println (""); //new line
        rowsize++;
    }
}
int行=500;
//计算我们将达到的最大数量:
int最大=1;
对于(int i=1;i
int number=2;
对于(int row=1;row),它表示必须在每行中打印多少值
  • 数字-->它是将要打印的实际值

  • 您是否尝试过自己解决这个问题?
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int row = in.nextInt();
        int allSpace = 2 * row - 1;
        int even = 2;
        for (int i = 1; i <= row; i++) {
            int allNumber = 2 * i - 1;
            for (int j = 0; j < (allSpace - allNumber) / 2; j++) {
                System.out.print("   ");
            }
            for (int j = 1; j <= allNumber ; j++) {
                System.out.printf("%3d", even);
                even += 2;
            }
            System.out.println();
        }
    }
    
        int num = 5;
        int cont = 0;
        for (int i = 1; i <= num; i++) {
            for(int k = 1; k <= num -i; k++) System.out.print(" ");
            for(int j = 1; j <= i; j++) {
                cont += 2;
                System.out.print(cont + " ");
            }
    
        System.out.println ("");
        }
    
        int rows = 500;
    
        //Calculating the largest number we will reach:
        int largest = 1;
        for(int i=1;i<=rows;i++){  
    
            largest=largest + i;    
        } 
        largest=largest*2;//since we only count even numbers
    
    
        int cur = 2; //current value to add to the triangle
        int rowsize = 0; //how many values to fit inside the row
    
        for (int i = 1; i <= rows; i ++) {
    
            int cursize = 0; //ammount of values currently in the row
    
            //filling spaces on left side
            //The value is based on how many rows we want, more rows = need for more initial spacing
            String spaces = "";
            for(int j = 0 ; j < (rows + "").length() ; j++) {
                spaces += " ";
            }
            for (int j = 0; j <= rows - i ; j++) {
    
                System.out.print(spaces);
            }
    
            while(cursize <= rowsize) {
    
                //For each number, we calculate how much spacing to place before it
                int len = (largest + "").length() - (cur + "").length();
                spaces = "";
                while(len != 0) {
                    spaces += " ";
                    len--;
                }
    
                System.out.print(" " + spaces + cur);
                cur += 2;
                cursize++;
    
            }
    
            System.out.println (""); //new line
            rowsize++;
        }
    }
    
    int number=2;
    for(int row=1;row<=4;row++) {
        for(int space=1;space<=(4-row);space++) {
            System.out.print(" ");
        }
        for(int noOfValue=1;noOfValue<=row;noOfValue++) {
            System.out.print(number+" ");
            number=number+2;
        }
        System.out.println();
    }