Java 逐层旋转二维阵列
问题是;用户输入2个输入以创建一个二维数组,该数组为行和列。 然后用随机数填充二维数组。之后,用户再输入1个输入,即旋转数组多少次。这是我的问题,我不知道如何一层一层地旋转数字Java 逐层旋转二维阵列,java,arrays,Java,Arrays,问题是;用户输入2个输入以创建一个二维数组,该数组为行和列。 然后用随机数填充二维数组。之后,用户再输入1个输入,即旋转数组多少次。这是我的问题,我不知道如何一层一层地旋转数字 import java.util.Random; 导入java.util.Scanner; 公共类随机数组 { 公共静态void main(字符串参数[]){ System.out.print(“输入行数:”); 扫描仪sc=新的扫描仪(System.in); int rows=sc.nextInt(); 系统输出打印
import java.util.Random;
导入java.util.Scanner;
公共类随机数组
{
公共静态void main(字符串参数[]){
System.out.print(“输入行数:”);
扫描仪sc=新的扫描仪(System.in);
int rows=sc.nextInt();
系统输出打印(“输入列数:”);
int columns=sc.nextInt();
int-twoD[][]=新的int[行][列];
对于(int i=0;i
假设您想顺时针旋转它。您可以创建另一个旋转的二维数组来临时存储旋转后的值。然后在每一行r
和列c
上循环
for(int r=0;r
你可以把它放在旋转次数的循环中。你说的旋转是什么意思?请发布输入、预期输出和您所做的努力。注:循环中的i
、j
、k
和l
都是局部变量。因此,在第二个嵌套循环中,如果愿意,也可以使用i
和j
。您刚刚添加了一个逆时针示例。这个答案仍然适用。我把找出合适指数的挑战留给你们。
import java.util.Random;
import java.util.Scanner;
public class RandomArray
{
public static void main(String args[]){
System.out.print("Enter number of row: ");
Scanner sc=new Scanner(System.in);
int rows=sc.nextInt();
System.out.print("Enter number of column : ");
int columns=sc.nextInt();
int twoD[][]=new int[rows][columns];
for(int i = 0; i < rows; i++){
for(int j = 0; j < columns; j++){
twoD[i][j] = (int) (Math.random()* 10) ;
}
}
for(int k = 0; k < rows; k++){
for(int l = 0; l < columns; l++){
System.out.print(twoD[k][l] + " ");
}
System.out.println();
}
}
}
//For example:
// Enter number of row: 4
// Enter number of column: 4
// It will print:
// 2 9 6 3
// 2 1 4 2
// 4 1 0 1
// 7 4 2 8
//If user enter 3 as a rotation number.It should be like this:
// 3 2 1 8
// 6 1 1 2
// 9 0 4 4
// 2 2 4 7