정확하게 할 수는없는 것 같습니다. 자세한하지만 파이썬으로 공격 태도를 보여준 본질적으로 동일
Arrays.copyOfRange(T[] original, int from, int to)
: 모든 당신이 필요한 경우
는
당신이 1을 사용할 수있는 일차원 배열했다.
class QArray {
private Integer[][] array;
private int quadrantSize;
public QArray(Integer[][] array) {
this.array = array;
this.quadrantSize = array.length/2;
}
public QArray getQuadrant(int quadrant) {
QArray quadrantArray;
switch(quadrant) {
case 1:
quadrantArray = getQuadrant(0, quadrantSize);
break;
case 2:
quadrantArray = getQuadrant(0, 0);
break;
case 3:
quadrantArray = getQuadrant(quadrantSize, 0);
break;
case 4:
quadrantArray = getQuadrant(quadrantSize, quadrantSize);
break;
default:
throw new IllegalArgumentException("Invalid quadrant: " + quadrant);
}
return quadrantArray;
}
private QArray getQuadrant(int startRow, int startCol) {
Integer[][] quadrantArray = new Integer[quadrantSize][];
for (int r = 0; r < quadrantSize; r++) {
quadrantArray[r] = Arrays.copyOfRange(array[startRow + r], startCol, startCol + quadrantSize);
}
return new QArray(quadrantArray);
}
}
경우 : 당신이 (AN array of arrays 자바로 구현되는)을 bidimensional 배열을 필요로하기 때문에
은 그러나 당신이 뭔가를 할 몇 가지 qArray
를 들어
System.out.println(qArray);
System.out.println(qArray.getQuadrant(2));
System.out.println(qArray.getQuadrant(1));
System.out.println(qArray.getQuadrant(3));
System.out.println(qArray.getQuadrant(4));
당신을 줄 것이다 :
[ 1, 2, 3, 4]
[ 5, 6, 7, 8]
[ 9, 10, 11, 12]
[13, 14, 15, 16]
[ 1, 2]
[ 5, 6]
[ 3, 4]
[ 7, 8]
[ 9, 10]
[13, 14]
[11, 12]
[15, 16]
배열의 '길이'속성은 어떻습니까? 당신이 그것을하고 싶어 plit? –