Java 如何获得从1到80打印的二维阵列

Java 如何获得从1到80打印的二维阵列,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,我的程序的目标是让2d数组从1打印到80。我想让它看起来像这样 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

我的程序的目标是让2d数组从1打印到80。我想让它看起来像这样

 1   2   3   4   5   6   7   8   9  10
11  12  13  14  15  16  17  18  19  20
21  22  23  24  25  26  27  28  29  30
31  32  33  34  35  36  37  38  39  40
41  42  43  44  45  46  47  48  49  50
51  52  53  54  55  56  57  58  59  60
61  62  63  64  65  66  67  68  69  70
71  72  73  74  75  76  77  78  79  80
我可以稍后修复格式化和所有问题,但如何让2d数组打印1-80之间的数字?我已经附上了我到目前为止所做的代码

公共类转换 {

publicstaticvoidmain(字符串[]args)
{
int[]twoarray=newint[8][10];
int i;
int j;
对于(i=0;i<8;i++)
{
对于(j=0;j<10;j++)
twoarray[i][j]=(i*j);
}
对于(i=0;i<8;i++)
{
对于(j=0;j<10;j++)
{
系统输出打印(一);
系统输出打印(“”);
系统输出打印(j);
系统输出打印(“”);
}
System.out.println();
}
}
}

您未正确初始化阵列

twoarray[i][j] = (i * j);
应该是

twoarray[i][j] = (i * 10 + j + 1);
作为旁注,这非常类似于计算屏幕上像素的内存地址(内存偏移量),给定它的X和Y坐标以及屏幕宽度

然后实际使用2d数组

for(i = 0; i < 8; i++)
{
    for(j = 0; j < 10; j++)
    {
        System.out.print(twoarray[i][j]);
    }
}
(i=0;i<8;i++)的

{
对于(j=0;j<10;j++)
{
系统输出打印(twoarray[i][j]);
}
}

您未正确初始化阵列

twoarray[i][j] = (i * j);
应该是

twoarray[i][j] = (i * 10 + j + 1);
作为旁注,这非常类似于计算屏幕上像素的内存地址(内存偏移量),给定它的X和Y坐标以及屏幕宽度

然后实际使用2d数组

for(i = 0; i < 8; i++)
{
    for(j = 0; j < 10; j++)
    {
        System.out.print(twoarray[i][j]);
    }
}
(i=0;i<8;i++)的

{
对于(j=0;j<10;j++)
{
系统输出打印(twoarray[i][j]);
}
}

我从这段代码中得到的输出与您的问题相同

请注意,输出控制台具有这种奇怪的格式,其中第一行与其余行不对齐。如果您将其输出到文本区域组件,它看起来应该很好。您的问题是您忘记计算数组的实际值。相反,您尝试将该值与计数器相乘。你在这个程序中的计数器就是,计数器。希望这对你有用:)

公共类转换{
公共静态void main(字符串[]args){
int[]twoArray=newint[8][10];
int i;//i&j只是遍历数组的计数器
int j;
int sum=0;//这将跟踪从1到80的总和/计数
对于(i=0;i<8;i++){

对于(j=0;j,我从这个代码中得到的输出与您在问题中想要的相同

请注意,输出控制台有一种奇怪的格式,第一行与其他行不对齐。如果您将其输出到文本区域组件,它看起来应该很好。您的问题是您忘记了计算数组的实际值。相反,您尝试将值与计数器相乘。此程序中的计数器将只是这就是我的想法,希望这对你有用:)

公共类转换{
公共静态void main(字符串[]args){
int[]twoArray=newint[8][10];
int i;//i&j只是遍历数组的计数器
int j;
int sum=0;//这将跟踪从1到80的总和/计数
对于(i=0;i<8;i++){
对于(j=0;j进行更多澄清

    for(i =0; i < 8; i++)
    {
        for(j = 0; j < 10; j++)
        twoarray[i][j] = (i * 10+j+ 1);
    }
    /* when i=0, j=0, value is 0*10+0+1=1 -->1st Row
         when i=0, j=1, value is 0*10+1+1=2 --> 1st Row
         when i=7,j=0, value is 7*10+0+1=71 --> 8th Row
         when i=7, j=9, value is 7*10+9+1=80 --> 8th Row */
(i=0;i<8;i++)的

{
对于(j=0;j<10;j++)
双数组[i][j]=(i*10+j+1);
}
/*当i=0,j=0时,值为0*10+0+1=1-->第1行
当i=0,j=1时,值为0*10+1+1=2-->第1行
当i=7,j=0时,值为7*10+0+1=71-->第八行
当i=7,j=9时,值为7*10+9+1=80-->第八行*/
更新:如何使用一维阵列

public static void main(String arg[])
{
    int array[]=new int[80];

    //filling array upto 80
    for(int i=0;i<=79;i++) 
        array[i]=i+1;

    //display array on console
    int counter=0;
    for(int i=0;i<=79;i++)
    {
        counter++;
        System.out.print(array[i]+" ");

        if(counter==10)
        {
            /*printing new line
            after counting upto 10 elements*/
            System.out.println(); 

            //reseting counter to 0;
            counter=0;
        }
    }
}
publicstaticvoidmain(字符串arg[])
{
int数组[]=新int[80];
//填充阵列高达80
对于(int i=0;i,需要进一步澄清

    for(i =0; i < 8; i++)
    {
        for(j = 0; j < 10; j++)
        twoarray[i][j] = (i * 10+j+ 1);
    }
    /* when i=0, j=0, value is 0*10+0+1=1 -->1st Row
         when i=0, j=1, value is 0*10+1+1=2 --> 1st Row
         when i=7,j=0, value is 7*10+0+1=71 --> 8th Row
         when i=7, j=9, value is 7*10+9+1=80 --> 8th Row */
(i=0;i<8;i++)的

{
对于(j=0;j<10;j++)
双数组[i][j]=(i*10+j+1);
}
/*当i=0,j=0时,值为0*10+0+1=1-->第1行
当i=0,j=1时,值为0*10+1+1=2-->第1行
当i=7,j=0时,值为7*10+0+1=71-->第八行
当i=7,j=9时,值为7*10+9+1=80-->第八行*/
更新:如何使用一维阵列

public static void main(String arg[])
{
    int array[]=new int[80];

    //filling array upto 80
    for(int i=0;i<=79;i++) 
        array[i]=i+1;

    //display array on console
    int counter=0;
    for(int i=0;i<=79;i++)
    {
        counter++;
        System.out.print(array[i]+" ");

        if(counter==10)
        {
            /*printing new line
            after counting upto 10 elements*/
            System.out.println(); 

            //reseting counter to 0;
            counter=0;
        }
    }
}
publicstaticvoidmain(字符串arg[])
{
int数组[]=新int[80];
//填充阵列高达80

对于(inti=0;i,您可以使用2D数组甚至1D数组来实现

public class Test{
    public static void main(String args[]){
        int r = 8, c = 10; //You can change this
        int[][] toArray = new int[r][c]; //using 2D array
        for(int i = 0; i < r; i++){ //i is the ten's place
            for(int j = 0; j < c; j++){ //j is the one's place
                toArray[i][j] = i*10 + j + 1;
                System.out.print(toArray[i][j]+"\t");
            }
            System.out.println();
        }

        System.out.println("\n\n\n");

        int a[] = new int[r*c]; //using 1D array
        for(int i = 0; i < r*c; i++){
            a[i] = (i+1); //+1 since we're starting with 1
            System.out.print(a[i]+"\t");
            if(a[i]%10==0) //Go to the next line if number is 10, 20, 30,..
                System.out.println();
        }
    }
}
公共类测试{
公共静态void main(字符串参数[]){
int r=8,c=10;//您可以更改此值
int[]toArray=new int[r][c];//使用2D数组
对于(inti=0;i

当然,在这个程序中不需要数组,您可以直接打印值。

您可以使用2D数组,甚至是1D数组。下面是代码

public class Test{
    public static void main(String args[]){
        int r = 8, c = 10; //You can change this
        int[][] toArray = new int[r][c]; //using 2D array
        for(int i = 0; i < r; i++){ //i is the ten's place
            for(int j = 0; j < c; j++){ //j is the one's place
                toArray[i][j] = i*10 + j + 1;
                System.out.print(toArray[i][j]+"\t");
            }
            System.out.println();
        }

        System.out.println("\n\n\n");

        int a[] = new int[r*c]; //using 1D array
        for(int i = 0; i < r*c; i++){
            a[i] = (i+1); //+1 since we're starting with 1
            System.out.print(a[i]+"\t");
            if(a[i]%10==0) //Go to the next line if number is 10, 20, 30,..
                System.out.println();
        }
    }
}
公共类测试{
公共静态void main(字符串参数[]){
int r=8,c=10;//您可以更改此值
int[]toArray=new int[r][c];//使用2D数组
对于(inti=0;i