2013-04-27 4 views
0

저는 java를 처음 사용하기 때문에 해결책을 찾았지만 찾지 못했습니다.배열 객체 내부의 객체에 액세스하는 중 java

Trip 개체의 "Trip [] _data"배열이 있습니다.

"Trip"개체가 여행 출발 날짜를 나타내는 "Date"클래스를 사용하고 있으며, Inside Trip 클래스는 Trip 개체를 가져와 균등화를 완료하는 부울 메서드 "sameDepartureDate"를 this.object와 같은 출발일로 사용합니다 .

"equals"라는 "Date"안에 public 메소드가 있습니다. Date 객체를 가져와 this.object와 동일한 작업을 수행합니다.

여행 클래스 내부의 sameDepartureDate 방법은 다음과 같습니다

public boolean sameDepartureDate (Trip other){ 
    if ((_departureDate.equals(other._departureDate))) 
     return true; 
    else return false; 
} 

내가 배열 안에 많은 여행이 동일한 출발 날짜를 사용하는 방법을 확인해야합니다.

즉, 주어진 "날짜 객체"가 trip 객체 내부의 배열 [i] 날짜 객체와 같으면 (Date 클래스의 equals 메서드 사용 또는 Trip 클래스의 "sameDepartureDate"사용)

배열 객체 내의 Trip/Date 클래스의 메서드를 Date 객체로 호출하려면 어떻게해야합니까?

는이 같은 방법을 구축하려고하지만 오류 "불환 유형, 필수 : ​​날짜, 발견 부울"얻을

public int howManyTripsDeparture(Date date){ 
    //Setting default! 
    int j=0; 
    int i; 

    if (date==null){ 
     return j; 
    } 

    else for (i=0; i<_data.length; i++){ 
      if (_data[i]==null){ 
       j=j; 
      } 
      else if ((Date) _data[i].equals(date)){ //here is the problem :/ 
       j=j++; 
      } 
      else j=j; 
    } 
    return j; 

} 

그것은 숙제를, 그 때문에 나는 여행/날짜 안에 새로운 방법을 구축하지 못할 수업.

현재 클래스 내부에서 원하는대로 새 개인 메서드를 만들 수 있습니다.

"날짜"개체에 _data [i]를 캐스팅하는 방법을 알아낼 수 없습니까? 내가 이퀄라이제이션을 할 때 포함 된 다른 데이터는 필요하지 않습니다. 내부 부울을 필요로 else ifif 때문에

else if (_data[i].getDepartureDate().equals(date)){ //here is the problem :/ 
     j=j++; 
} 

그냥 당신이 내부에서 수행되는 (Date) 캐스팅을 제거 :

+2

'여행'수업 전체를 게시 할 수 있습니까? –

+0

_data [i]에는 '여행'이 포함되어 있으며 '날짜'로 캐스팅 할 수 없습니다. – sanbhat

+0

얍, 감사합니다 .--) 아부가 말했듯이, 나는 (날짜) 캐스팅을 제거하고 여행을 사용했습니다. 메소드'getDepartureDate()'는 날짜 객체와 '평등'합니다. – user2325513

답변

0

:-) 도움을

덕분에 당신은 이것을 변경, 거의 있었다 대괄호

+0

고맙습니다. 시도했지만 _departureDate는 Trip 내에서 개인입니다. _data [i] 안에 날짜 객체 만 호출하는 다른 방법이 있습니까? – user2325513

+0

공개 접근 방법을 사용할 수 있습니다. 업데이트 된 답변 – Abubakkar

+0

O.k! 고맙습니다 :-)) 이제 괜찮습니다.하지만 어떻게 든 j = j ++ 만 j ++로 대체해야했습니다. 왜 그런지 모르겠지만 ... :/어떤 방법 으로든 대단히 감사합니다! – user2325513

관련 문제