전제 : 나는 초보자이다.클래스의 인스턴스 변수에 액세스하기 java
저는 학교 시간표를 만드는 자바 프로그램을 개발 중이며 사용자는 몇 개의 수업을 만들어야하는지, 교사와 하루 시간 수를 선택할 수 있습니다. 내 문제는 "중복 된"선생님이 있는지 (즉, 선생님이 같은 시간에 두 개의 다른 수업을 가지고 있는지) 확인해야하는 경우입니다. 내 프로그램에는 Class.java
, Day.java
및 Main.java
의 세 클래스가 있으며 그 중 아무 것도 다른 클래스를 확장하지 않으며 추상 또는 인터페이스는 아닙니다. 이
for(int l = 0; l < nClasses.length; l++) {
for(int j = 0; j <= l; j++) {
for(int i = 0; i < nClasses[j].nDays.length; i++) {
for(String s : nClasses[j].nDays[i].profpos.keySet()) {
// Check for duplicate teachers
if(j != l && nClasses[l].nDays[i].profpos.containsKey(s) && nClasses[j].nDays[i].profhr.get(s) != 0 && nClasses[l].nDays[i].profhr.get(s) != 0 && nClasses[j].nDays[i].profpos.get(s) == nClasses[l].nDays[i].profpos.get(s)) {
System.out.println("Duplicate teacher " +s +" in the day " +nClasses[j].days[i] +" at position " +nClasses[j].nDays[i].profpos.get(s) +" in classes " +classes[j] +" and " +classes[l]);
}
}
}
}
}
당신이 여기에 세 가지 클래스의 전체 코드를 찾을 수 있습니다 : 이것은 나를 괴롭히는되는 코드 당신이 볼 수 있듯이, 그때 얻을 Class()
의 배열을 사용하고 https://gist.github.com/anonymous/6462953
Day()
의 다른 배열로 이동하여 교사가 중복되는지 확인하려면 profpos
HashMap
으로 끝납니다. 제 질문은 : HashMaps
에 액세스하는 더 좋은 방법이 있습니까?
대신 교사에게 수업에 배정하는 동안 알아 내지 못하는 이유가 있습니다. 이 시간에 충돌 여부를 확인할 수 있습니다. –
Class.java는 이미 java.lang 패키지에서 사용할 수 있습니다 .please 다른 이름을 선택하십시오 .... :) –
검토 할 작업 코드로 보이므로 [codereview.se]에 더 적합 할 수 있습니다. – Dukeling