编写程序模拟两个村庄共用同一口井水。编写一个 Village 类,该类有一个静态的 int 型成员变量 waterAmount,用于模拟井水的水量。在主类 Land 的 main()方法中创建两个村庄
3)Land类,主类-》public class Land,-》main,Village wuzhuang = new Village(),wuzhuang.SetPeopelNumber(XXXX);或者 Village xwuzhuang = new Village(XXX), Village 2 = …所以,Village这个类就有两个动作,即两个成员函数——改变、查看,还得有个变量来表示人
·
解析:1)共同的变量->类变量可以实现这个要求-》static int waterAmount;
2)改变(动作):Village发出来的;查看(动作):Village发出来的。
所以,Village这个类就有两个动作,即两个成员函数——改变、查看,还得有个变量来表示人口,int peopleNumber。
3)Land类,主类-》public class Land,-》main,Village wuzhuang = new Village(),wuzhuang.SetPeopelNumber(XXXX); 或者 Village xwuzhuang = new Village(XXX), Village 2 = …
利用点操作符来调用改变和查看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;
}
public static int waterAmount() {
// TODO Auto-generated method stub
return waterAmount;
}
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); //用类名调用setWaterAmount(int m),并向参数传值200
int leftWater =Village.waterAmount(); //用Village类的类名访问waterAmount
System.out.println("水井中有 "+leftWater+" 升水");
Village fengzhuang,wuzhuang;
fengZhuang = new Village("冯庄");
wuzhuang = new Village("吴庄");
fengZhuang.setPeopleNumber(80);
wuzhuang.setPeopleNumber(120);
fengZhuang.drinkWater(50);//fengZhuang调用drinkWater(int n),并向参数传值50
leftWater = wuzhuang.lookWaterAmount(); //wuzhuang调用lookWaterAmount()方法
String name=wuzhuang.name;
System.out.println(name+"发现水井中有 "+leftWater+" 升水");
wuzhuang.drinkWater(100);
leftWater = fengZhuang.lookWaterAmount(); //fengZhuang调用lookWaterAmount()方法
name=fengZhuang.name;
System.out.println(name+"发现水井中有 "+leftWater+" 升水");
int peopleNumber = fengZhuang.getPeopleNumber();
System.out.println("冯庄的人口:"+peopleNumber);
peopleNumber = wuzhuang.getPeopleNumber();
System.out.println("吴庄的人口:"+peopleNumber);
}
}
更多推荐
已为社区贡献1条内容
所有评论(0)