이것은 내 루프 문입니다. 첫 번째 루프는 회전되지 않은 블록을 표시하고 두 번째 루프는 회전하고 n 번째 (사용자 입력) 번까지 두 번째 배열을 표시합니다. 내 문제는 2D 배열이 한 번 회전하지만 세 번째 이후의 회전은 수행하지 않는다는 것입니다. 내 2 차원 어레이가 표시 될 때마다 시계 방향으로 90도 회전하도록합니다.3x3 2 차원 배열을 n 번 시계 방향으로 회전하는 방법
rot = x.nextInt(); //user input for n rotations
//initial block
System.out.println("1");
for(i=0; i<block.length; i++)
{
for(j=0; j<block[i].length; j++)
System.out.print(block[i][j]+"\t");
System.out.println();
}
//rotated block
for(cnt=2; cnt<=rot; cnt++)
{
System.out.println(cnt);
for(i=0; i<block.length; i++){
for(j=block.length-1; j>=0; j--){
newBlock[i][j] = block[j][i];
System.out.print(newBlock[i][j]+"\t");
}
System.out.println();
}
}
* 원래 * 블록을 계속 회전합니다. 이전 작업에서 블록을 회전해야합니다 (예 : 'newBlock'을'cnt' 루프의 마지막에'block'에 복사합니다. – Andreas
원래 배열을 회전하기 만하면됩니다. –
게다가, 코드는 회전이 아니라 트랜스 포즈를하고 있습니다. –