[我写了一个班级的水箱,现在我想编写一个短循环(10次)测试程序,该程序抽取水(0升的空水箱),然后将水箱重新装回5000。
I。]我创建了一个私有成员变量“ water”,其倍数为5000(升)。II。]公共获取器成员方法“ getWater”,该方法返回成员变量“ water”的实际值。II.II)公共设置员成员方法“ setWater”III。]公共成员方法“ extractWater”从水箱中提取200升并返回布尔值。如果水箱不为空,则为“ TRUE”,如果水箱为空,则为“ FALSE”。IV。]公共成员方法“ refillWater”将成员变量“ water”设置为其原始值。
https://i.imgur.com/CcLFwhW.pngdiagramm
public class Watertank {
private static double water = 5000;
public double getWater() {
return water;
}
public void setWater(double water) {
this.water = water;
}
public boolean extractWater() {
if ((water <= 5000) && (water >= 200)) {
seife -= 200;
return true;
}
return false;
}
public double refillWater(void){
water = 5000;
}
public static void main(String[] args) {
Watertank vWater = new Watertank();
vWater.extractWater()
System.out.println(vWater.water);
vWater.refillwater();
}
}
我认为您的问题是为什么水又不回到5000升?!这是因为您要对静态变量进行非静态引用。
private static double water = 5000;
上面的代码应为
private double water = 5000;
我只能猜测您的问题是什么
在您的主要方法中:
Watertank vWater = new Watertank();
for(int i = 0; i < 10; i++){
vWater.extractWater()
System.out.println(vWater.water);
}
vWater.refillwater();