java - for 循环中的构造函数

标签 java database arraylist

我是java编程的初学者,我的任务是创建一个数据库。该数据库是一个自行车商店,其中包含父类(super class)自行车和子类山地自行车、公路自行车。我还有一个名为 bikeSystem 的类,它管理所有子类。到目前为止,我已经采取了在自行车系统类中设置构造函数的方法,并用 getter 和 setter 方法进行封装。然后尝试创建一个 for 循环,根据自行车系统“自行车”的属性变量设置数据库的大小,该属性变量根据我将其更改为的值指定数据库的大小。以及一个数组列表,它将根据数据库的大小创建一个大小的数组。

但是,这种方法并没有起作用,我不断收到如下错误:
BikeSystem.java:18:错误:类 BikeSystem 中的构造函数 BikeSystem 无法应用于给定类型; BikeSystem noOfBikes = new BikeSystem();

以及一堆与非静态和静态上下文相关的错误。 非常感谢您对这个问题的任何帮助或见解,或者可能的解决方案,感谢您的宝贵时间。

import java.util.ArrayList;

public class BikeSystem {
private int bikes;

public BikeSystem(int noOfBikes) {
    bikes = noOfBikes;
}
// Getter
public int getBikes() {
    return bikes;
}
//Setter
public void setBikes(int newBikes) {
    this.bikes = 9;

}   
public static void main(String[] args) {
    BikeSystem noOfBikes = new BikeSystem();
    for (int i = 0; i = noOfBikes; i++) {
        ArrayList<Bike> Bike = new ArrayList<Bike>();

    }

}

最佳答案

我创建了一个具有颜色属性的 Bike 类,一个可以添加自行车列表的 BykeSystem 类,以及一个 test 类,其中你可以创建列表。我没有使用 for 循环。你可以创建 MountainBike 类,例如扩展 Bike,添加新的属性,例如高度,制作一个列表将它们添加到测试类中并将其添加到 BikeSystem 列表中:

BikeSystem 类:

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

public class BikeSystem {

//here you have to add attributes of bikeSystem
    private ArrayList<Bike> bikes;

    public BikeSystem(ArrayList<Bike> bikes) {
        this.bikes = bikes;
    }

    public ArrayList<Bike> getBikes() {
        return bikes;
    }

    public void setBikes(ArrayList<Bike> bikes) {
        this.bikes = bikes;
    }

    @Override
    public String toString() {
        return "BikeSystem [bikes=" + bikes + "]";
    }

}

测试类:

    import java.util.ArrayList;

public class Test {

    public static void main(String[] args) {
        ArrayList<Bike> Bikes = new ArrayList<Bike>();
        Bikes.add(new Bike("red"));
        Bikes.add(new Bike("blue"));
        Bikes.add(new Bike("black"));
        Bikes.add(new Bike("white"));
        ArrayList<Bike> Bikes1 = new ArrayList<Bike>();
        Bikes.add(new Bike("red"));
        Bikes.add(new Bike("blue"));
        Bikes.add(new Bike("black"));
        Bikes.add(new Bike("white"));
        ArrayList<BikeSystem> BikeSys = new ArrayList<BikeSystem>();
        BikeSys.add(new BikeSystem(Bikes));
        BikeSys.add(new BikeSystem(Bikes1));


    }

}

自行车类:

public class Bike {
    //here you have to add attributes of bike
    private String color;

    public Bike(String color) {
        this.color = color;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    @Override
    public String toString() {
        return "Bike [color=" + color + "]";
    }


}

关于java - for 循环中的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61337337/

相关文章:

java - 如何将两个不同的ArrayList从Servlet发送到JSP

java - 如何使我的 ArrayList 线程安全? Java中解决问题的另一种方法?

Android:通过 Content Provider 访问 SQLite 数据库还是实现 DAO?

mysql - 在一个查询中查看所有数据库和表的示例的最佳方式是什么?

mysql - 为什么这个查询只返回 1 行?

java - 为什么我的 DAO 读取 .txt 文件而不存储所有数据行?

java - "Flatten"在 guava 和 java 7 中可选

java - 更改了包名称,现在 AndroidManifest.xml 不起作用

java - Put 方法在 TreeMap 的实现中

java - 为什么会出现这样的输出呢?