提取水和注水水箱

问题描述 投票:0回答:2

[我写了一个班级的水箱,现在我想编写一个短循环(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();

    }

}

java methods getter-setter getter setter
2个回答
0
投票

我认为您的问题是为什么水又不回到5000升?!这是因为您要对静态变量进行非静态引用。

private static double water = 5000;

上面的代码应为

private double water = 5000;

我只能猜测您的问题是什么


0
投票

在您的主要方法中:

Watertank vWater = new Watertank();
for(int i = 0; i < 10; i++){
    vWater.extractWater()
    System.out.println(vWater.water);
}
vWater.refillwater();
© www.soinside.com 2019 - 2024. All rights reserved.