1-D 64 요소 배열의 반바지를 뒤집을 필요가 있습니다 (더 쉽다면 int로 전환 할 수 있지만 동일한 프로세스를 가정합니다). 어느 쪽이든을 위해) 자바에 그것의 머리에 일할 것이다. 나는 실제 문제가 체스 판 위에 있기 때문에 여기를 이해의 용이성을 위해 정사각형 테이블로 표현한다.Java에서 2D 배열을 나타내는 1D short/int 배열의 행을 바꿔 쓰는 방법
예를 들어 :
short[] example = new short[]
{
1, 2, 3,
4, 5, 6,
7, 8, 9
};
이 될 것입니다 :
7 8 9
4 5 6
1 2 3
이 내가이했다 발견 배열 (비슷한 질문에 대한 모든 회답을 반전 등 하지 동일 함을 유의하시기 바랍니다 실수, 그래서 물어 봐야!). 배열을 반대로하면 다음과 같이 표시됩니다.
중요한 정보를 놓친 경우 사과드립니다.
EDIT : 배열이 1D이고 64 개의 요소가 포함되어 있으므로 짧은 [64]이며 반대 배열은 원본과 구분됩니다. 내가 뭘 해봤 던지, 나는 단지 내 머리를 감싸기 위해 고심하고있다. 나는 배열을 반대하는 방법을 알고,하지만 난 후 무엇을하지, 난 원래 사용하여 인덱스 반전을 시도했다 :
byte index = (byte)(((byte)(position + 56)) - (byte)((byte)(position/8) * 16));
내가 Chessbin에서 발견 코드입니다, 그러나 이것은 잘못된 값을 반환 IndexOutOfBounds 오류를 제공합니다. 뒤늦은 시각으로 볼 때 코드가 색인을 뒤집거나 뒤집을 것인지 여부는 분명하지 않습니다. 수학은 내 강한 소송이 아니기 때문에 별도의 배열로 해결하려고했습니다.
당신은 당신이 –
을 시도 것을보고 싶었어 이 배열은 코드에서 어떤 모습입니까? 그것은'짧은 [] []'입니까? 아직 아무 것도 시도하지 않았습니까? 오류가 있었습니까? – thegrinner
다차원 배열입니까 ? – Adarsh