2013-02-24 2 views
0

Java에 익숙해 져서 교차 클래스와 SimEngine (이벤트 목록) 클래스가있는 기본 트래픽 시뮬레이션 코드를 작성하려고합니다.다른 클래스의 메서드를 호출하여 개체 이름을 인수로 전달하십시오.

내 교차 클래스에는 자동차가 교차로에 도착했음을 나타내는 Arrival()이라는 메서드가 있습니다. 이 메소드의 일부로 SimEngine에서 schedule() 메소드를 사용하여 3 초 후 해당 자동차의 출발 일정을 타임 스탬프에 지정하려고합니다.

schedule() 메소드는 네 개의 인수 (차량 ID, 교차점 ID, 타임 스탬프)를 취합니다. 내 질문은 교차로 ID를 전달하는 것입니다 (이 시뮬레이션에는 여러 개의 교차점이 있음). Intersection 객체의 참조 변수 이름을 모르는 경우 어떻게 다른 함수로 전달할 수 있습니까?

+0

내가 갖고 있지 않은 참조를 원하면 디자인을 다시 생각해 보시겠습니까? – 11684

답변

1

시스템에서 차량을 먼저 식별해야합니다. 특히 데이터베이스 구동 응용 프로그램에서 일반적인 선택은 정수 값을 사용하는 것입니다. 따라서 각 차량에 고유 한 식별자를 첨부하고 예상되는 인스턴스 수에 따라 Integer 또는 Long으로 참조하십시오.

메모리에있는 데이터 만 보유하고있는 경우 Map<Integer,Vehicle>에서 차량을 저장하고 검색 할 수 있습니다. 여기 스레드 안전에 대한 추가 예방 조치를 취하십시오. ConcurrentHashMap은 좋은 선택입니다.

관련 문제