gpt4 book ai didi

java - 如何在 while 循环中添加距离?

转载 作者:行者123 更新时间:2023-12-01 14:08:05 27 4
gpt4 key购买 nike

我应该在 N 步后添加步行者位置的距离。我运行 while T 次,需要将 T 次试验后的所有 N 个步骤相加,然后除以试验次数以获得平均值。这是我到目前为止的代码。 Iv 尝试使用不同的整数,例如距离/T,但它说找不到距离。是因为它是在 while 循环中定义的吗?我正在使用处理。

import javax.swing.JOptionPane;
String input=JOptionPane.showInputDialog("Steps");
int x=Integer.parseInt(input);
if (x<0)
{
System.out.println("Error. Invalid Entry.");
}
int T=1;
int N=0;
while (T<10)
{
while (N<x)
{
int stepsX=Math.round(random(1,10));
int stepsY=Math.round(random(1,10));
System.out.println(stepsX+","+stepsY);
N=N+1;
if (N==x)
{
int distance=(stepsX*stepsX)+(stepsY*stepsY);
System.out.println(distance);
}
}
T=T+1;
N=0;
}
System.out.println("mean sq. dist = ");

最佳答案

我假设这是因为您没有记录总距离。另外,您的 distance int 变量仅存在于范围内:

        if (N==x)
{
int distance=(stepsX*stepsX)+(stepsY*stepsY);
System.out.println(distance);
}

在此处了解有关范围的更多信息:Scope of do-while loop?

目前还不清楚您需要什么,但我所做的一些更改我认为会有所帮助:

import javax.swing.JOptionPane;
String input=JOptionPane.showInputDialog("Steps");
int x=Integer.parseInt(input);
if (x<0)
{
System.out.println("Error. Invalid Entry.");
}
int T=1;
int N=0;
double totalDistance = 0.0;//keep track over over distance;
while (T<10)
{
while (N<x)
{
int stepsX=Math.round(random(1,10));
int stepsY=Math.round(random(1,10));
System.out.println(stepsX+","+stepsY);
N=N+1;
if (N==x)
{
int distance=(stepsX*stepsX)+(stepsY*stepsY);
totalDistance = totalDistance + distance;
System.out.println("current distance: " + distance);
System.out.println("current total distance: " + totalDistance);
}
}
T=T+1;
N=0;
}
//calculate whatever you need using totalDistance
System.out.println("mean sq. dist = " + (totalDistance/T) );

关于java - 如何在 while 循环中添加距离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18749492/

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