2

私はまだJavaプログラミングにかなり慣れていないので、Javaの演習で助けを求めています。現在、ArrayListの値を更新する方法を理解するのに苦労しています。

JAXBinding を使用して、XML ファイルの作成に使用できるいくつかのソース ファイルを生成しました。

public static void main (String[] args) {
 String delete;
 AvailableFlights todayFlight = new AvailableFlights();
 List<Flight> flights_today =  todayFlight.getFlightDetail();

Flight journey1;
        journey1 = new Flight();
        journey1.setJourney("J1");
        journey1.setAirline("KLM");
        journey1.setConnections(1);
        journey1.setDestination("Amsterdam");
        journey1.setOrigin("London");
        journey1.setSeats(10);
        journey1.setCost(200);
        journey1.setCurrency((float) 0.16);
        flights_today.add(journey1);

私が見つけている問題は、Seats値を更新したい場合、次のようなことをして席を奪うことです:

if(delete.equals("J1")) {
Flight journey1;
flights_today.add(journey1.setSeats(-1));
flights_today.add(journey1);
}

しかし、10 議席を 1 議席減らすのではなく、-1 で上書きするだけです。

で解決された問題: journey1.setSeats(journey1.getSeats()-1);

4

3 に答える 3

2

を含むインターフェイスをset(index, value)実装するクラスの値を更新するために使用できます。ListArrayList

于 2013-01-11T13:03:18.407 に答える
2

使用する代わりに:

journey1.setSeats(-1)

以下を使用する必要があります。

journey1.setSeats(journey1.getSeats()-1)

setSeats(-1)は座席数を -1 に設定するため、代わりに実際の値を指定する必要があります。

于 2013-01-11T13:11:06.263 に答える
0

席を奪うときは、次のことを行う必要があります。

  • リストを繰り返して正しいフライトを見つけることにより、正しいフライトを見つけますFlight
  • このフライトsetSeatsでは、値から1を引くことによって行いgetSeatsます。
于 2013-01-11T13:07:01.200 に答える