做家庭作业,老实说甚至不确定如何去做。任何帮助表示赞赏。谢谢!
分配: 一个醉酒的人离开酒吧,回家散步。据观察,他平均有60%的时间前进,30%的时间后退,10%的时间内摆动(没有向前或向后的动作)。
他的家离酒吧50英尺(步数)。写一个名为“PS1P2”的程序,显示他在醉酒走路的典型夜晚的动作。您的代码应该打印一系列“前进”,“后退”和“摆动”字样 对应他的动作。
提示:您可以使用Math.random()生成的值来确定此人的操作 在每一步中。
这是我到目前为止的代码:
public static void main(String[] args) {
double currentPos = 0;
int houseDist = 50;
int stepCounter = 0;
double i;
while(currentPos < houseDist){
i = Math.random();
if(i <= 0.6){
System.out.println("Forward");
currentPos++;
stepCounter++;
}
if(i <= 0.9){
System.out.println("Backward");
currentPos--;
stepCounter++;
}
else
System.out.println("Wobble");
}
System.out.println("Total steps: " + stepCounter);
System.out.println("The house has been reached!");
}//end main
弄清楚了!不希望这看起来像你们正在为我做功课,只是需要一个地方开始。感谢那些做出回答/帮助的人!
答案 0 :(得分:3)
Math.random不会自动为你解决这个问题...
在软件工程中,通常在编码开始之前有一个计划阶段。所以,让我们计划吧!
我建议你在纸上考虑这个问题。假装你有一个100面骰子,你要反复滚动它,并用这个值来弄清楚那个人做了什么,对吧?我建议你弄清楚如何做到这一点,然后先把它写在纸上。逐步计算出来(没有双关语)
然后,一旦你完成了这一点,就会意识到调用Math.random基本上就像滚动骰子一样(没有查找代码,我相信调用Math.random(100)会返回1-100之间的随机数,或者类似的东西.JavaDoc / Google将能够帮助您正确调用它。其余的由你来编码。