实验五 2个村庄共用一口井水,假设井水是固定不变的,编写一个Village类,这个类包括

版权声明:转载注明康弘雲 https://blog.csdn.net/weixin_43560803/article/details/84062960

一个名为waterAmount的static int型成员变量,用于表示井水的水量(默认值3000L)

一个名为date的static LocalDate型成员变量,表示当前时间

一个名为villageNmae的String型成员变量,表示村庄名(默认值“”)

一个名为peopleNumber的int型成员变量,表示村庄人口(默认值20人)

编写静态初始化块,初始化waterAmoun的值为5000,

编写初始化块,初始化peopleNumber=200;villageNmae=“奎屯”;

带一个参数villageNmae的构造函数

一个drinkWater()函数,该函数实现判读剩余水量是否够全村人喝,如果够,显示村庄人口,每人喝水量,总共喝了的水量,并修改井水的水量,如果不够,井水量标识为0;每个人喝的井水由Random类产生一个小于5L的水计量,总的饮水量是人口数*每个人喝的井水

一个static 函数setWaterAmount()设置井水的初始量

一个static函数lookWaterAmount()函数返回当前井水量,并修改date时间为当前时间

一个static getDate()函数返回date值

一个setPeopleNumber()函数设置村庄人数

编写一个测试函数,设置初始水量为1000L,创建2个村庄对象,并设置人口,调用相关函数按第一个图显示结果

再编写一个测试函数,创建2个村庄对象,不设置其他值,调用相关函数按第二个图显示结果(前面测试程序注释)

体会初始化的调用顺序

import java.time.LocalDate;
import java.util.Random;

public class Village {
    private static int waterAmount=3000;
    private static LocalDate date=LocalDate.now();
    private int peopleNumber=20;
    private String villageName;
    static {
        waterAmount=5000;
    }
    {
        peopleNumber=200;
        villageName="濂庡悲";
    }
    public Village(String name){
        villageName=name;
    }
    public void drinkWater(){
        Random rand=new Random();
        int everyPerson=rand.nextInt(5);
        int drinkWater=peopleNumber*everyPerson;
        if(waterAmount-drinkWater>=0){
            System.out.println(villageName+" 浜哄彛锛�"+peopleNumber+" 姣忎汉鍠濇按:"+everyPerson+"L "+" 鍏卞枬浜嗭細"+drinkWater);
            waterAmount=waterAmount-drinkWater;
        }
        else {
            System.out.println(villageName + " 浜哄彛锛�" + peopleNumber + " 姣忎汉鍠濇按:" + everyPerson + "L " + " 鍏卞枬浜嗭細" + drinkWater);
            waterAmount = 0;
        }
    }

    public static void setWaterAmount(int m){
        waterAmount=m;
    }
    static int lookWaterAmount(){
        date=LocalDate.now();
        return waterAmount;
    }
    static LocalDate getDate(){
        return date;
    }

    public void setPeopleNumber(int peopleNumber) {
        this.peopleNumber = peopleNumber;
    }
    public int getPeopleNumber() {
        return peopleNumber;
    }
}
public class VillageTest {
    public static void main(String[] args) {
        /*Village.setWaterAmount(1000);
        int leftWater=Village.lookWaterAmount();
        System.out.println("褰撳墠鏃堕棿 "+Village.getDate()+" , 浜曟按鏈夛細"+leftWater);
        Village zhaoZhuang=new Village("鏋e簞");
        zhaoZhuang.setPeopleNumber(80);
        Village maJiazhuang=new Village("椹搴�");
        maJiazhuang.setPeopleNumber(100);
        zhaoZhuang.drinkWater();
        leftWater=Village.lookWaterAmount();
        System.out.println("瑙傚療鏃堕棿锛�"+Village.getDate()+ "姘撮噺鏈夛細"+leftWater);
        maJiazhuang.drinkWater();
        System.out.println("椹搴勭敤瀹屾按鍚庝簳姘磋繕鏈�"+Village.lookWaterAmount());*/
        int leftWater=Village.lookWaterAmount();
        System.out.println("褰撳墠鏃堕棿 "+Village.getDate()+" , 浜曟按鏈夛細"+leftWater);
        Village zhaoZhuang=new Village("鏋e簞");
        Village maJiazhuang=new Village("椹搴�");
        zhaoZhuang.drinkWater();
        leftWater=Village.lookWaterAmount();
        System.out.println("瑙傚療鏃堕棿锛�"+Village.getDate()+ "姘撮噺鏈夛細"+leftWater);
        maJiazhuang.drinkWater();
        System.out.println("椹搴勭敤瀹屾按鍚庝簳姘磋繕鏈�"+Village.lookWaterAmount());

    }
}

猜你喜欢

转载自blog.csdn.net/weixin_43560803/article/details/84062960