首页 > 解决方案 > for循环中的构造函数

问题描述

我是 java 编程的初学者,我的任务是创建一个数据库。该数据库是一个自行车商店,其中包含超级类 Bike 和子类山地自行车、公路自行车。我还有一个名为 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>();

    }

}

标签: javadatabasearraylist

解决方案


没有绒毛的可能解决方案是

import java.util.ArrayList;

public class BikeSystem {
private ArrayList <Bike> bikes = new ArrayList<> ();

public void addBike (Bike b) {
    bikes.add (b);
}

public static void main(String[] args) {

    int noOfBikes = 9;
    BikeSystem bs = new BikeSystem ();
    for (int i = 0; i < noOfBikes; i++) {
        bs.addBike(new Bike>());
    }

}

甚至没有测试它是否可以编译


推荐阅读