0

私はJavaが初めてです。解決策を検索しましたが、見つかりませんでした。

Trip オブジェクトの "Trip [] _data" 配列があります。

「Trip」オブジェクトは、「Date」クラスを使用して旅行の出発日を表します。Trip クラス内には、Trip オブジェクトを取得し、このオブジェクトと同じ出発日を取得した場合に均等化を行うブール メソッド「sameDepartureDate」があります。

「Date」内に「equals」というパブリックメソッドがあります。Date オブジェクトを取得し、this.object と同等の処理を行います。

Trip クラス内の sameDepartureDate メソッドは次のとおりです。

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

配列内のいくつの Trips が同じ出発日を使用しているかを確認する必要があります。

つまり、指定された「日付オブジェクト」が旅行オブジェクト内の配列 [i] 日付オブジェクトと等しい場合です。(Date クラスの equals メソッドを使用するか、Trip クラスの「sameDepartureDate」を使用)

配列オブジェクト内の Trip/Date クラスからメソッドを呼び出して、Date オブジェクトを確認するにはどうすればよいですか?

このようなメソッドを構築しようとしましたが、「inconvertible types, Required: Date, found: boolean」というエラーが表示されます

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;

}

宿題なので、Trip/Date クラス内に新しいメソッドを作成することはできません。

現在のクラス内で、必要に応じて新しいプライベート メソッドを作成できます。

_data[i] を「Date」オブジェクトにキャストする方法がわかりませんか??? イコライゼーションを行ったときに含まれていた他のデータは必要ありません。

助けてくれてありがとう:-)

4

1 に答える 1

0

あなたはほとんどそこにいました、これを変更するだけです:

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

ブラケットの内側にブール値が必要なため、(Date)内側で行っているキャストを削除するだけですelse ifif

于 2013-04-27T07:40:28.760 に答える