gpt4 book ai didi

java - Blue J 显示正在运行,但不会打开结果窗口

转载 作者:行者123 更新时间:2023-12-01 09:16:22 25 4
gpt4 key购买 nike

我一直在运行一个程序来模拟穿过七步桥所需的步数。生成一个随机数来确定该人是否向前或向后迈出一步。该模拟运行 1000 次。此后,将打印出通过的平均步数以及所花费的最大步数。

这又运行了 1000 次。它编译得很好。我的问题是,当我去运行它时,(在 BlueJ 上)栏显示它正在运行,但输出窗口无法出现。怎么了? (很可能是一些我没有注意到的愚蠢而明显的事情。)

import java.util.Random;

public class Prog214a
{
public static void main (String[] args)
{
Random rn = new Random();

for (int m = 1; m <= 20; m++)
{

int max = 0;

for (int c = 1; c <= 1000; c++)
{
int s = 0;
int sn = 0;
int sum = 0;

while (s < 7)
{
int ans = rn.nextInt(1) + 0;

if (ans == 1) {
s = s + 1
}
else {
s = s - 1;
}

sn++;
}

sum = sum + sn;

if (sn > max) {
max = sn;
}

if (c == 1000) {
double avg = sum / c;
System.out.print(avg);
System.out.print(" " + max);
}
}
}
}
}

最佳答案

至少有一个问题。这里:

                int ans = rn.nextInt(1) + 0;

if (ans == 1){
s = s + 1;
}

else {
s = s -1;
}

rn.nextInt(1)只能返回0,所以ans将为 0。您没有 guard 来确保 s不会变成负数,所以它会 - 并且它仍然小于 7,这意味着 while 循环(条件为 s < 7 )会持续很长时间(具体来说,直到 s 回绕)再次变为正数)。

关于java - Blue J 显示正在运行,但不会打开结果窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40518230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com