- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在处理一个我有点困惑的问题。问题是假设您是二战期间英国空军的一名将军。您还剩下 100 架飞机来保卫英国。在您执行的每个任务中,每架飞机都有 50% 的几率被德国高射炮击落,因此每次执行任务您都会损失大约一半的飞机。你必须编写一个程序来估计每次任务后有多少架飞机可以幸存下来,以及你可以运行多少架飞机直到所有飞机都被击落。
我的程序不工作,我不知道它出了什么问题,所以我猜英格兰有麻烦了。我试图用两个 while 循环来解决这个问题。外层的 while 循环表示只要你还有飞机,就派他们去执行另一个任务。内部 while 循环模拟实际任务。在 while 循环存在之后,飞机总数现在是幸存的飞机。
import acm.program.*;
import acm.util.*;
public class MissionPlanes extends ConsoleProgram{
public void run(){
int planes = 100; /* total number of planes */
int suvPlanes = 0; /* surviving planes */
int mission = 0; /* total number of missions */
int planeCounter = 0; /* keeps track of the planes flying over the anti plane gun */
while (planes > 0){
while(planeCounter < planes){
planeCounter++;
if(rgen.nextBoolean()){ /* I've tried rgen.nextBoolean() with paramaters and with no paramaters */
suvPlanes += 1;
}
}
planes = suvPlanes;
mission++;
println("The total number of surviving planes you have is " + planes + "after" + missoin + "missions");
}
}
private RandomGenerator rgen = RandomGenerator.getInstance();
}
最佳答案
您必须在外循环中将 planeCounter
重置为 0。同样适用于 suvPlanes
:
while (planes > 0){
planeCounter = 0;
suvPlanes = 0;
// ... remaining stuff
如果您不在此循环的第二次迭代中执行此操作,您将以 planeCounter >= planes
结束,因此您将不会执行内部循环。另一方面,suvPlanes
不会重置为 0,因此飞机在第一个循环中将永远保持等于 suvPlanes
的值,因此您的外循环将永远不会终止。
关于java - RandomGenerator - 失去 50% 的平面模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17336271/
我需要输出与休息相关的随机数。因此,要选择一个,我需要生成一个随机数,其中没有数字连续重复两次。我知道你必须存储以前的值,但不知道从哪里开始。这是我的代码。 private String pickDe
我正在尝试编写一个模拟掷硬币的程序。第一次硬币正面朝上时,我希望程序退出。 while 循环中的第一个语句翻转硬币一次。然后我有一个 if 语句,表示如果我刚刚翻转的硬币是正面,则退出程序。但我的程序
我被困在一个我不知道如何解决的问题上。我正在尝试使用 RandomGenerator 来模拟抛硬币,直到 RandomGenerator 连续抛出 3 个正面,然后程序退出。 变量 flipCount
这个项目的主类是acm.program.GraphicsProgram; GraphicsProgram 早些时候在我的项目上工作时,我需要在 Pong 游戏中稍微随机化球的运动,并通过使用 impo
我正在处理一个我有点困惑的问题。问题是假设您是二战期间英国空军的一名将军。您还剩下 100 架飞机来保卫英国。在您执行的每个任务中,每架飞机都有 50% 的几率被德国高射炮击落,因此每次执行任务您都会
我是 Java 新手,我正在遵循在线类(class)中的示例。本课专门讨论 RandomGenerator。我们编写了一个小程序,从 (1,6) 生成随机数。我编写了与示例类似的代码,但出现错误。 你
我在 Java 中使用 Random 类作为伪随机数生成器。我多次使用函数 nextDouble (~10^5)。我必须重新播种多少次才能防止获得相同的数字?是否需要重新播种? Random
我是一名优秀的程序员,十分优秀!