나는 학교 과제물을 작성하는 데 문제가 있습니다. 기본적으로이 코드 조각이 나오기 전에 이미 객체 배열에 저장되어있는 많은 정보를 가지고 작업합니다. 이제이 배열을 정렬해야합니다 (정렬 된 후에는 PRIORITY 변수의 순서로 몇 가지를 계산해야합니다).변수를 기반으로 객체 배열을 다른 배열에 배열
나는 이미 MyClass [] 배열을 가지고 있는데,이 배열은 한정된 양의 MyClass 객체를 저장한다.
MyClass[] priorityArray = new MyClass[input.length];
for (int i=0; i<priorityArray.length; i++) {
int maxIndex = 0;
int maxPrivilege = input[i].returnPrivilege();
for (int j=1; j<input.legnth; j++) {
int currentPrivilege = input[j].returnPrivilege();
if (currentPrivilege > maxPrivilege) {
maxPrivilege = currentPrivilege;
maxIndex = j;
}
}
priorityArray[i] = input[maxIndex];
input[maxIndex].setPrivilege(-900000000);
}
MyClass의 클래스 공상 아무것도 경우,하지만 물론, 적절한 생성자, getter와 setter 메소드와 정수 변수 "권한을"이 포함되어 있습니다.
프로그램의 최종 테스트에서 오류가 발생하여 프로그램에서 "-900000000"으로 권한을 반환하므로 코드의이 부분과 관련이 있어야합니다. 입력 배열의 특정 MyClass 인스턴스를 priorityArray 배열에 쓰는 것도 아닙니다.
어떻게 해결할 수 있습니까? 도움.
잘 모르겠습니다 - "j"루프가 매번 전체 "입력"배열을 통과하기를 원합니다. 그래서 for 루프는 선언 할 때 maxPrivilege 변수에 input [0] .returnPrivilege()의 값을 할당하기 때문에 0에서 시작해야합니다 (1에서 시작합니다.) 또한 " 디버거 "? –
감사합니다. 내 문제를 해결했습니다. 불행히도, 아직 100 % 프로젝트가 끝나지 않았지만 이제 우선 순위가 올바르게 표시됩니다. 감사합니다! –