在对角线上划分数字块的空间的图案

时间:2014-01-15 18:15:32

标签: java

我需要这种模式:

 1234

5 678

91 23

456 7

其中数字1,2,3,4,5,.......给出

我尝试了以下内容:

import java.io.*;

public class Array_pat1

{

static void main()throws IOException

{
    System.out.println("Please enter the dimensions of 2 dimensional arrays : ");

    int d= input.Int();


    int sum=0,prod=1;
    int a[][]=new int[d][d];

    for(int i=0;i<d;i++)
    {
        for(int k=0;k<d;k++)
            a[i][k]=input.Int();
    }
    System.out.println();
    for(int i=0;i<d;i++)
    {
        for(int j=0;j<i;j++)
        System.out.print(" ");

        for(int j=i;j<d;j++)
        {
            System.out.print(a[i][j]);
        }
        System.out.println();
    }
}

}

但输出如下:

1234

678

 23

  7

我认为由于一些小错误而导致数字块的另一半丢失。 问题出在哪儿?如果你知道,请回答

1 个答案:

答案 0 :(得分:1)

试试这个:

for(int i=0;i<d;i++)
{
    for(int j=0;j<i;j++)
    {
        System.out.print(a[i][j]);
    }        

    System.out.print(" ");

    for(int j=i;j<d;j++)
    {
        System.out.print(a[i][j]);
    }
    System.out.println();
}