「java数组螺旋」java数组旋转

博主:adminadmin 2023-03-18 00:32:07 431

今天给各位分享java数组螺旋的知识,其中也会对java数组旋转进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

螺旋数组的意思和规律

1 2 3 4 5

16 17 18 19 6

15 24 33 20 7

14 23 22 21 8

13 12 11 10 9

这是5阶的螺旋数组,也叫回旋数,代码如下

public class HuiXuanShu {

public static void main(String[] args) {

int[][] a;

HuiXuanShu hxs = new HuiXuanShu();

a = hxs.huixuan(5);

for (int i = 0; i a.length; i++) {

for (int j = 0; j a.length; j++) {

System.out.print(a[i][j] + " ");

}

System.out.println();

}

}

public int[][] huixuan(int n) {

if (n == 1) {

return new int[][]{{1}};

}

if(n == 2){

return new int[][]{{1,2},{4,3}};

}

int[][] result = new int[n][n];

for (int i = 0; i n; i++) {

result[0][i] = i + 1;

}

for (int i = 0; i n; i++) {

result[i][n - 1] = n + i;

}

for (int i = n - 1; i = 0; i--) {

result[n - 1][i] = 3 * n - 2 - i;

}

for (int i = n - 1; i 0; i--) {

result[i][0] = 4 * n - 3 - i;

}

int aaa = 4 * n - 4;

int[][] result1 = huixuan(n - 2);

for (int i = 0; i n - 2; i++) {

for (int j = 0; j n - 2; j++) {

result[i + 1][j + 1] = result1[i][j] + aaa;

}

}

return result;

}

}

用java如何输出如下数组

public class Pmat //螺旋方阵

{

public static void main(String args[])

{

final int SIZE=4;

int mat[][]=new int[SIZE][SIZE];

int i,j,k=0,n,m;

n=SIZE;

m=(n+1)/2;

for(i=0;im;i++)

{

for(j=i;j=n-i-1;j++) //顶边,从左到右,行不变列变

mat[i][j]=++k; //输出1、2、3、4、13、14

for(j=i+1;j=n-i-1;j++) //右边,从上到下,行变列不变

mat[j][n-i-1]=++k; //输出5、6、7、15

for(j=n-i-2;j=i;j--) //底边,从右到左,行不变列变

mat[n-i-1][j]=++k; //输出8、9、10、16

for(j=n-i-2;j=i+1;j--) //左边,从下到上,行变列不变

mat[j][i]=++k; //输出11、12

}

for(i=0;in;i++) //输出二维数组

{

for(j=0;jn;j++)

System.out.print(mat[i][j]+" ");

System.out.println();

}

}

}

Java 怎样把数组里的数旋转N次?比如N是2次,12 34 45 56 67 78就变为45 56 67 78 12 34?

有什么其他的要求么?没有的话想法就是用N%数组的长度,等于你实际循环的次数。0的话就不用动,其他情况比如得出结果是N=2,存储数组是a[]={12,34,45,56,67,78}

int a[]={12,34,45,56,67,78};

int N=2;

int b[]=new int[N];

int i=0;

for(;ia.length-N;i++){

if(iN){

b[i]=a[i];

}

a[i]=a[i+N];

}

for(int j=0;ia.length;i++,j++){

a[i]=b[j];

}

有一定空间的消耗,要是数组大的话不太好

java二维数组3*3螺旋矩阵实例,请解释下循环的过程

public class T {

public static void main(String[] args) {

int i,j;

int[][] a = {{1,1,1},{2,2,2},{3,3,3}};

int[][] b = new int[3][3];

System.out.print("初始矩阵:\n");

for(i=0;i3;i++) {

for(j=0;j3;j++) {

System.out.print(a[i][j]+"  ");

}

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

}

System.out.print("转置矩阵:\n");

for(i=0;i3;i++) {

for(j=0;j3;j++) {

b[i][j] = a[j][i];

System.out.print(b[i][j]+"  ");

}

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

}

}

}

如何使一个三行三列的数组顺时针旋转90度,使用java语言!非常感谢啊

public static void main(String[] args)

{

int[][] numbers={

{1,2,3},

{4,5,6},

{7,8,9}

};

int[][] newnum=new int[3][3];

for(int i=0;i3;i++){

for(int j=0;j3;j++){

newnum[i][j]=numbers[2-j][i];

System.out.println(newnum[i][j]);

}

}

}

如何用JAVA实现螺旋矩阵

import java.io.*;public class RingDemo {

public static void main(String[] args) {

String strIn = "";

System.out.print("请输入矩阵的行列数:");

InputStreamReader input = new InputStreamReader(System.in);

BufferedReader buff = new BufferedReader(input);

try {

strIn = buff.readLine();

} catch (IOException e) {

System.out.println(e.toString());

}

int int1 = Integer.parseInt(strIn);

int n = int1;

System.out.println("这是行列数为" + n + "的螺线型数组:");

int intA = 1; // 初始化

int[][] array = new int[n][n];

int intB;

if (n % 2 != 0) {

intB = n / 2 + 1; // 奇数时i循环次数

} else

intB = n / 2; // 偶数时i循环次数

for (int i = 0; i intB; i++) { // 从外到里循环

// 从左到右横的开始

for (int j = i; j n - i; j++) {

array[i][j] = intA;

intA++;

}

// 从上到下纵

for (int k = i + 1; k n - i; k++) {

array[k][n - i - 1] = intA;

intA++;

}

// 从右到左横

for (int l = n - i - 2; l = i; l--) {

array[n - i - 1][l] = intA;

intA++;

}

// 从下到上纵

for (int m = n - i - 2; m i; m--) {

array[m][i] = intA;

intA++;

}

}

// 输出数组

for (int i = 0; i n; i++) {

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

System.out.print(array[i][j] + " ");

}

System.out.println();

} }

}

关于java数组螺旋和java数组旋转的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。