先说下思路,我把距离井底的距离当做是“height”,是不是第一次输入当做是“true”,因为我要判断青蛙距离井底的距离是不是0,如果是0就说“非常遗憾,您失败啦”,但是初始的时候,青蛙距离井底的距离就是0,所以,“true”这个参数的引入,只是为了解决这一情况的。然后就是判断每次的height,直到height大于等于20或者小于等于0的时候,输出信息,并且结束程序。
代码如下:
public static void jumpFrog(int height, boolean flag) {if (flag == false) {
if (height >= 20) {
System.out.println("恭喜您过关啦")
return
} else if (height <= 0) {
System.out.println("非常遗憾,您失败啦")
return
}
}
for (int i = 0 i < 3 i++) {
height += Math.random() * 6
}
height -= 6
jumpFrog(height, false)
}
public static void main(String[] args) {
jumpFrog(0, true)
}
输出的结果会有两种:“非常遗憾,您失败啦”和“恭喜您过关啦”。
有问题再追问。
这种作业,最好还是结合书上知识,理解清楚老师布置的目的、怎么实现的public class Frog {
private String name
private Integer distance = 0
//跳跃方法
void jump() {
//随机10-20
int jumpDistance = (int) (10 + Math.random() * (20 - 10 + 1))
this.distance += jumpDistance
}
//带名字构造方法
Frog(String name) {
this.name = name
}
public static void main(String[] args) {
Frog a = new Frog("a")
Frog b = new Frog("b")
Frog c = new Frog("c")
Frog d = new Frog("d")
for (int i = 0i <10i++) {
a.jump()
b.jump()
c.jump()
d.jump()
}
System.out.println(a.name + "总距离=" + a.distance)
System.out.println(b.name + "总距离=" + b.distance)
System.out.println(c.name + "总距离=" + c.distance)
System.out.println(d.name + "总距离=" + d.distance)
}
public String getName() {
return name
}
public void setName(String name) {
this.name = name
}
public Integer getDistance() {
return distance
}
public void setDistance(Integer distance) {
this.distance = distance
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)