gpt4 book ai didi

java - 多变量循环

转载 作者:行者123 更新时间:2023-11-30 08:27:45 25 4
gpt4 key购买 nike

我希望我的程序计算从 x = -2.0 到 x = 2.0 的值。我还希望它对从 -3.0 到 3.0 的标准差值执行此操作。一张表中应该总共有 140 个输出。但是,我遇到了麻烦,无法更改标准偏差值。到目前为止,我所尝试的一切都只是以一组标准差输出 x。如何修改外部循环以通过 x 再次执行运行并保持所有输出?到目前为止,这是我想出的,但没有任何成功:

import java.lang.Math;
import java.util.Arrays;
public class STable {

public static void main (String[] args)
{
double exponent, x, pi, e, sqrtpart, y, stnrd, mean;

mean = 0;
stnrd = -3.0;
pi = 3.14159;
e = 2.71828;
x = -2.0;
int count = 0;
int supercount = 0;

while (supercount < 140)
{
while (count < 20)
{
exponent = - ((x-mean)*(x-mean)/(2.0*stnrd));
sqrtpart = Math.sqrt(2*pi);
y = (Math.pow(e,exponent))/sqrtpart;

System.out.print(" " + y);
x = x + 0.2;
count++;
}

x=-2.0;
System.out.println("\n");

stnrd = stnrd + 1.0;
supercount++;
}
}

最佳答案

首先,您需要在每次内部循环后重置您的 count 变量。否则在外循环的所有后续传递中,count 仍将是 20,因此内循环将不会执行。

其次,我不认为外循环适用于所有内容,因为您没有使用方括号来声明其范围。

当我稍微修改你的代码时:

public class STable {

public static void main (String[] args)
{


double exponent, x, pi, e, sqrtpart, y, stnrd, mean;

mean = 0;
stnrd = -3.0;
pi = 3.14159;
e = 2.71828;
x = -2.0;
int count = 0;
int supercount = 0;

while (supercount < 140) {



while (count < 20)
{

exponent = - ((x-mean)*(x-mean)/(2.0*stnrd));

sqrtpart = Math.sqrt(2*pi);


y = (Math.pow(e,exponent))/sqrtpart;

System.out.print(" " + y);
x = x + 0.2;
count++;
}

x=-2.0;
count = 0;
System.out.println("\n");

stnrd = stnrd + 1.0;
supercount++;




}
}
}

我得到了我相信您正在寻找的输出。

作为旁注,这是 for loop 的一个很好的用例以避免由于忘记重置计数变量而导致的错误。 :)

编辑 - 具有适当循环执行计数的循环版本:

public class STable {

public static void main(String[] args) {

double exponent, pi, e, sqrtpart, y, mean;

mean = 0;
pi = 3.14159;
e = 2.71828;
for (double stnrd = -3.0; stnrd <= 3.0; stnrd += 1) {
double x = -2.0;
for (int i = 0; i < 21; i++) {
exponent = -((x - mean) * (x - mean) / (2.0 * stnrd));

sqrtpart = Math.sqrt(2 * pi);

y = (Math.pow(e, exponent)) / sqrtpart;

System.out.print(" " + y);
x += 0.2;
}
System.out.println("\n");
}
}
}

请注意,我将内部循环更新为运行 21 次,因为从 -2.0 到 2.0 有 21 个包含 0.2 的步骤。

关于java - 多变量循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20666259/

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