我是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/