从另一个类向ArrayList添加对象

时间:2013-11-02 14:49:40

标签: java arraylist

我对编程非常陌生,目前正在尝试编写汽车展厅应用程序。我有一个车辆类,陈列室类,我正在尝试使用陈列室驱动器进行输入。

我在向arraylist添加车辆对象时遇到了问题。有人能指出我正确的方向。

我的代码:

public class Vehicle {

    private String manufacturer;
    private String model;
    private String custName;
    private String vin;
    private String dateMan;
    private String dateSold;
    private Boolean sold;
    private char tax;
    private double cost;

    public Vehicle(String a, String b, String c, String d) {
        manufacturer = a;
        model = b;
        vin = c;
        dateMan = d;
    }

    public String toString() {
        String s = "Manufacturer: " + manufacturer + "  Model: "
                + model + "  vin: " + vin + "Date Manufactured:" + dateMan
                + "Cost: " + cost;
        return s;
    }

    public void buyVehicle(String a, String b) {  //buy method for the vehicle
        a = dateSold;
        b = custName;
        sold = true;
    }

    public String getManufacturer() {
        return manufacturer;
    }

    public String getModel() {
        return model;
    }

    public String getCustName() {
        return custName;
    }

    public String getVin() {
        return vin;
    }

    public String getDateMan() {
        return dateMan;
    }

    public String getDateSold() {
        return dateSold;
    }

    public Boolean getSold() {
        return sold;
    }

    public char getTax() {
        return tax;
    }

    public double getCost() {
        return cost;
    }
}

import java.util.ArrayList;

public class Showroom {

    private ArrayList<Showroom> theVehicles;

    public Showroom() {
        theVehicles = new ArrayList<Showroom>();
    }

    public boolean addVehicle(Showroom newVehicle) {
        theVehicles.add(newVehicle);
        return true;
    }
}

import java.util.*;

public class ShowroomDriver {

    public static void main(String[] args) {
        Vehicle v1 = new Vehicle("renault", "clio", "12", "290890");
        Showroom.addVehicle(v1);
    }
}

基本上,我对如何将车辆对象添加到陈列室类中的arraylist感到困惑。如果有人能指出我正确的方向,我会非常感激。

提前致谢。

3 个答案:

答案 0 :(得分:3)

您必须实例化Showroom类才能使用其属性和方法

车辆收集车辆不是陈列室。

package cars;

import java.util.ArrayList;
import java.util.List;

public class Showroom {

   private final List<Vehicle> theVehicles = new ArrayList<>();

   public boolean addVehicle( Vehicle newVehicle ) {
      theVehicles.add( newVehicle );
      return true;
   }

   public static void main( String[] args ) {
      final Showroom showroom = new Showroom();
      final Vehicle v1 = new Vehicle( "renault", "clio", "12", "290890" );
      showroom.addVehicle( v1 );
   }
}

在Vehicle类中,'='运算符出错,我想你想记住售出价值和客户名称:

public void buyVehicle( String a, String b ) { // buy method for the vehicle
   dateSold = a;
   custName = b;
   sold = true;
}

答案 1 :(得分:0)

我想这个

private ArrayList <Showroom> theVehicles;

应该是这个

private ArrayList <Vehicle> theVehicles;
theVehicles = new ArrayList <Vehicle> ();

这个

public boolean addVehicle( Showroom newVehicle )

应该是

public boolean addVehicle( Vehicle newVehicle )

您不想ArrayList Vehicle而不是ShowRoom s?

答案 2 :(得分:0)

您的问题是您声明了ShowRoom对象的ArrayList,但您想要的是Vehicle对象的ArrayList。

private ArrayList<Vehicle> theVehicles;

public boolean addVehicle(Vehicle v) {
    theVehicles.add(v);
    return true;
}
相关问题