java农夫果园代码
时间: 2023-07-02 07:07:12 浏览: 85
以下是一个简单的Java农夫果园代码示例,其中包含了农夫、果树和水果等类的定义,以及一些基本的操作方法。
```
// 农夫类
public class Farmer {
private int id;
private String name;
public Farmer(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public void waterTree(Tree tree) {
tree.setWatered(true);
System.out.println("农夫" + name + "给果树" + tree.getId() + "浇水了。");
}
public void harvestFruit(Tree tree) {
if(tree.isWatered()) {
Fruit fruit = tree.harvest();
System.out.println("农夫" + name + "采摘了果树" + tree.getId() + "上的" + fruit.getName() + "。");
} else {
System.out.println("果树" + tree.getId() + "还没有浇水,无法收获果实。");
}
}
}
// 果树类
public class Tree {
private int id;
private Fruit fruit;
private boolean watered;
public Tree(int id, Fruit fruit) {
this.id = id;
this.fruit = fruit;
}
public int getId() {
return id;
}
public Fruit getFruit() {
return fruit;
}
public boolean isWatered() {
return watered;
}
public void setWatered(boolean watered) {
this.watered = watered;
}
public Fruit harvest() {
Fruit fruit = this.fruit;
this.fruit = null;
return fruit;
}
}
// 水果类
public class Fruit {
private String name;
public Fruit(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
// 示例程序
public class Orchard {
public static void main(String[] args) {
Fruit apple = new Fruit("苹果");
Tree tree1 = new Tree(1, apple);
Farmer farmer1 = new Farmer(1, "张三");
farmer1.waterTree(tree1);
farmer1.harvestFruit(tree1);
}
}
```
在该示例中,定义了农夫、果树和水果三个类,其中农夫可以给果树浇水和收获果实,果树可以存储水果和记录是否已经浇水,水果类只有一个名称属性。示例程序创建了一个苹果树和一个农夫,农夫先给果树浇水,然后收获果实。