版权声明:转载注明康弘雲 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());
}
}