Hey,我是寒水,一名大二学生,电子商务专业在读,正在学习Java中。我试图将在Java学习中遇到的一些困惑和最终的解答发在这个账号上,希望以此来激励我不要放弃学习!
此题来源于孙卫琴老师《大话Java——程序设计从入门到精通》,在此表示对出题人老师的谢意。
题目如下:
蟠桃园有一棵有100个蟠桃的蟠桃树,每300年长出若干个(0-6个不等)蟠桃;蟠桃园内有紫霞仙子,每隔500年检查一次蟠桃树木;孙悟空每隔100年会吃掉1个蟠桃。
·
编写程序模拟此行为。
思路:将树、紫霞、猴子分为三个线程类,run()分别包括了长出桃子,数桃子、吃桃子的过程。思路很明确,主要是对于初学的我来练手。因为是第一次接触多线程,所以编程的时候确实遇到过一些麻烦。
我的答案如下:
import java.io.Closeable;
import java.util.*;
class Sleep
{
static void sleep(int time)
{
try
{
Thread.sleep(time);
}catch(InterruptedException e)
{
new RuntimeException(e);
}
}
}
class Tree extends Thread
{
int num=0;
private int peachCount=100; //开始有100个桃子
public Tree(String name)
{
super(name);
}
public int getPeachCount() //计算桃子数量
{