Java 如何获得从1到80打印的二维阵列
我的程序的目标是让2d数组从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
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