Java程序设计精编教程(5.14上机实践)
作者:互联网
实验目的
本实验的目的是让学生掌握类变量与实例变量,以及类方法与实例方法的区别
实验要求
编写程序模拟两个村庄共同拥有一片森林。编写一个Village类,该类有一个静态的int型成员变量treeAmount用于模拟森林中树木的数量。在主类MainClass的main方法中创建两个村庄,一个村庄改变了treeAmount的值,另一个村庄查看treeAmount的值。
程序代码
Village.java
public class Village {
static int treeAmount; //模拟树林中树木的数量
int peopleNumber; //村庄的人数
String name; //村庄的名字
Village(String s){
name = s;
}
void treePlanting(int n) {
treeAmount = treeAmount + n;
System.out.println(name+"植树"+n+"棵");
}
void fellTree(int n) {
if (treeAmount-n >= 0) {
treeAmount = treeAmount - n;
System.out.println(name+"伐树"+n+"棵");
} else {
System.out.println("无树木可伐");
}
}
static int lookTreeAmount() {
return treeAmount;
}
void addPeopleNumber(int n) {
peopleNumber = peopleNumber + n;
System.out.println(name+"增加了"+n+"人");
}
}
MainClass.java
public class MainClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
Village zhaoZhuang,majiaHeZi;
zhaoZhuang = new Village("赵庄");
majiaHeZi = new Village("马家河子");
zhaoZhuang.peopleNumber = 100;
majiaHeZi.peopleNumber = 150;
//用类名Village访问treeAmount,并赋值200
Village.treeAmount = 200;
int leftTree = Village.treeAmount;
System.out.println("森林中有"+leftTree+"棵树");
//zhaoZhuang调用treePlanting(int n),并传值50
zhaoZhuang.treePlanting(50);
//majiaHezi调用lookTreeAmount()方法得到树木的数量
leftTree = Village.lookTreeAmount();
System.out.println("森林中有"+leftTree+"棵树");
//majiaHeZi调用fellTree(int n)并向参数传值70
majiaHeZi.fellTree(70);
leftTree = Village.lookTreeAmount();
System.out.println("森林中有"+leftTree+"棵树");
System.out.println("赵庄的人口:"+zhaoZhuang.peopleNumber);
zhaoZhuang.addPeopleNumber(12);
System.out.println("赵庄的人口:"+zhaoZhuang.peopleNumber);
System.out.println("马家河子的人口:"+majiaHeZi.peopleNumber);
majiaHeZi.addPeopleNumber(10);
System.out.println("马家河子的人口:"+majiaHeZi.peopleNumber);
}
}
也可以合并到一起
public class MainClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
Village zhaoZhuang,majiaHeZi;
zhaoZhuang = new Village("赵庄");
majiaHeZi = new Village("马家河子");
zhaoZhuang.peopleNumber = 100;
majiaHeZi.peopleNumber = 150;
//用类名Village访问treeAmount,并赋值200
Village.treeAmount = 200;
int leftTree = Village.treeAmount;
System.out.println("森林中有"+leftTree+"棵树");
//zhaoZhuang调用treePlanting(int n),并传值50
zhaoZhuang.treePlanting(50);
//majiaHezi调用lookTreeAmount()方法得到树木的数量
leftTree = Village.lookTreeAmount();
System.out.println("森林中有"+leftTree+"棵树");
//majiaHeZi调用fellTree(int n)并向参数传值70
majiaHeZi.fellTree(70);
leftTree = Village.lookTreeAmount();
System.out.println("森林中有"+leftTree+"棵树");
System.out.println("赵庄的人口:"+zhaoZhuang.peopleNumber);
zhaoZhuang.addPeopleNumber(12);
System.out.println("赵庄的人口:"+zhaoZhuang.peopleNumber);
System.out.println("马家河子的人口:"+majiaHeZi.peopleNumber);
majiaHeZi.addPeopleNumber(10);
System.out.println("马家河子的人口:"+majiaHeZi.peopleNumber);
}
}
class Village {
static int treeAmount; //模拟树林中树木的数量
int peopleNumber; //村庄的人数
String name; //村庄的名字
Village(String s){
name = s;
}
void treePlanting(int n) {
treeAmount = treeAmount + n;
System.out.println(name+"植树"+n+"棵");
}
void fellTree(int n) {
if (treeAmount-n >= 0) {
treeAmount = treeAmount - n;
System.out.println(name+"伐树"+n+"棵");
} else {
System.out.println("无树木可伐");
}
}
static int lookTreeAmount() {
return treeAmount;
}
void addPeopleNumber(int n) {
peopleNumber = peopleNumber + n;
System.out.println(name+"增加了"+n+"人");
}
}
运行结果
标签:Java,treeAmount,int,System,精编,5.14,Village,println,out 来源: https://www.cnblogs.com/rainbow7colours/p/16263721.html