【java】一维数组循环位移方阵

时间:2024-08-13 19:06:14

输出:

左移:
7 4 8 9 1 5
4 8 9 1 5 7
8 9 1 5 7 4
9 1 5 7 4 8
1 5 7 4 8 9
5 7 4 8 9 1
右移:
5 7 4 8 9 1
1 5 7 4 8 9
9 1 5 7 4 8
8 9 1 5 7 4
4 8 9 1 5 7
7 4 8 9 1 5

-----------------------

 public class dengd {
public static void main(String args[])
{
int arr[]={7,4,8,9,1,5}; //数组初始化
System.out.println("左移:");
for(int i=0;i<6;i++)//最外层for控制行数。
{
for(int j=0; j<6; j++)
{
System.out.print(arr[(i+j)%6]+ " "); //通过余的方式控制下标
}
System.out.println();
}
System.out.println("右移:"); for(int i=5;i>=0;i--)
{
for(int j=0; j<6; j++)
{
System.out.print(arr[(i+j)%6]+ " ");
}
System.out.println();
}
}
}

右移一直没有单独的思路,只能把左移倒过来。 右移输出第一行应该输出: 7 4 8 9 1 5    但是一点思路都没有。希望路过的前辈们提醒下~感激不尽。