模拟两个村庄共用同一口井水

模拟两个村庄共用同一口井水。编写一个Village类,该类有一个静态的int型成员变量waterAmount,用于模拟井水的水量;有一个静态方法setWaterAmount()用于设置井水的初始水量;有一个drinkWater(int n)用于表示该村庄有n个人喝了n升水;有一个静态方法lookWaterAmount用于查看井水水量;有一个setPeopleNumber()方法用于设置村庄的人数;有一个getPeopleNumber()用于获取村庄人数。在主类Land的main()方法中创建两个村庄,一个村庄改变了waterAmount的值,另一个村庄查看waterAmount的值

public class Village {
    static int waterAmount;
    int peopleNumber;
    String name;
    Village(String s){
        name=s;
    }
    static void setWaterAmount(int m){
        if(m>0) {
            waterAmount = m;
        }
    }
    void drinkWater(int n){
        if(waterAmount-n>=0){
            waterAmount=waterAmount-n;
            System.out.println(name+"喝了"+n+"升水");
        }
        else
            waterAmount=0;
    }
    static int lookWaterAmount(){
        return waterAmount;
    }
    void setPeopleNumber(int n){
        peopleNumber=n;
    }
    int getPeopleNumber(){
        return peopleNumber;
    }
}
public class Land {
    public static void main(String args[]){
        Village.setWaterAmount(200);
        int leftWater=Village.waterAmount;
        System.out.println("水井中有"+leftWater+"升水");
        Village zhaozhuang,majiahezhi;
        zhaozhuang=new Village("赵庄");
        majiahezhi=new Village("马家河子");
        zhaozhuang.setPeopleNumber(80);
        majiahezhi.setPeopleNumber(120);
        zhaozhuang.drinkWater(50);
        leftWater=majiahezhi.lookWaterAmount();
        String name=majiahezhi.name;
        System.out.println(name+"发现水井中有"+leftWater+"升水");
        majiahezhi.drinkWater(100);
        leftWater=zhaozhuang.lookWaterAmount();
        name=zhaozhuang.name;
        System.out.println(name+"发现水井中有"+leftWater+"升水");
        int peopleNumber=zhaozhuang.getPeopleNumber();
        System.out.println("赵庄的人口"+peopleNumber);
        peopleNumber=majiahezhi.getPeopleNumber();
        System.out.println("马家河子的人口"+peopleNumber);
    }
}

img