如何将一维数组转换为二维数组

我已经有了用于将一维二维转换为一维二维的代码,但是我不知道如何将其转换。这是我的代码:

package laboratorio9;

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner entrada = new Scanner(System.in);

int A[][];

int B[];

int n;

int m;

int nb = 0;

System.out.println("Enter the number of lines in your array.");

n = entrada.nextInt();

System.out.println("Enter the number of columns in your array.");

m = entrada.nextInt();

A = new int[m][n];

B = new int[m*n];

for (int i = 0; i < m; i++) {

for (int j = 0; j < n; j++) {

System.out.println("Enter A["+i+"]["+j+"]");

A[i][j] = entrada.nextInt();

}

}

System.out.println();

for (int i = 0; i < m;i++) {

for (int j = 0; j < n; j++) {

B[nb] = A[i][j];

nb++;

}

}

for (int i = 0; i < m*n; i++) {

System.out.println(B[i] + " ");

}

System.out.println();

Boolean Swap = false;

do {

Swap = false;

for (int i=0;i<B.length-1;i++)

if (B[i] > B[i + 1]) {

int Temp = B[i];

B[i] = B[i + 1];

B[i + 1] = Temp;

Swap = true;

}

} while (Swap);

for (int i=0;i<B.length;i++)

System.out.println(B[i]);

}

}

回答:

您正在寻找类似的东西:

int j = 0;

int k = 0;

for ( int i = 0; i < nb;i++)

{

C[j][k] = B[i];

k++;

if( k >= n )

{

j++;

k = 0;

if( j >= m )

throw Error();

}

}

与以下内容相同:

int k = 0;

for ( int i = 0; i < m;i++)

{

for ( int j = 0; j < n;j++)

{

C[i][j] = B[k++];

}

}

但试图帮助进一步解释这个概念。

以上是 如何将一维数组转换为二维数组 的全部内容, 来源链接: utcz.com/qa/397690.html

回到顶部