모든 값으로 채워진 행렬이 주어지면 임의의 행렬을 생성하기 위해 데이터를 임의로 추출해야합니다 (각 위치에 널값으로 초기화 됨).자바에서 행렬 위치 값을 확인하는 방법은 무엇입니까?
public void randomLogic(String[][] givenMatrix){
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[i].length; j++) {
int positioni = this.randInt(0, 1);
int positionj = this.randInt(0, 1);
int x = this.randInt(0, 3);
int y = this.randInt(0, 2);
/*In here lies the reported issue while checking if empty. */
while (!this.randomMatrix[x][y].isEmpty()) {
x = this.randInt(0, 3);
y = this.randInt(0, 2);
this.randomMatrix[x][y] = givenMatrix[positioni][positionj];
}
}
}
}
가 나는 또한 다음과 같이 시도했다 : : while(this.randomMatrix[x][y] != null)
와 코드가 바로 분해합니다 (randomMatrix 내) 위치가 null과 다른 경우 다음과 같이 확인하면서 문제가있다. 모든 해결 논리는 예상대로 작동합니다 (결함 부분이 있지만 작동하지 않는다면 작동하지만). 유일한 문제는 유효성 검사입니다. 어떤 위치가 평가되고 있는지에 관계없이 항상 작동을 멈 춥니 다.
다른 방법으로 매트릭스 위치 값을 확인할 수 있습니까?
글쎄, 당신의 관점과 주어진 솔루션은 꽤 좋습니다! 나는 그렇게 생각하지 않았습니다. 그리고 나는이 방법이 해결책의 일부일지라도 더 잘 작동 할 것이라고 생각합니다. 문제는 예를 들면 다음과 같습니다. "세 개의 행렬이 주어 지므로 새 행렬에 무작위로 배정 할 것이고 반복 된 값의 제약이 없으므로 그 점에 신경 쓰지 않을 것입니다." 그러나 반복 된 값을 피하는 것에 대해 지적한 것은 좋은 접근 방법입니다. 나는 모든 것을 고려할 것이다 : D 감사. –