Java 不重置临时整数
我正在使用另一个类创建一个直方图来帮助显示它,但这对我的问题并不重要。让我从下面的代码开始Java 不重置临时整数,java,Java,我正在使用另一个类创建一个直方图来帮助显示它,但这对我的问题并不重要。让我从下面的代码开始 public class DisplayHistogram { public static void main(String[] args) { int temp = 0; int holder = 0; int average; Random rand = new Random(); Histogram x = new Histogram(1, 20);
public class DisplayHistogram {
public static void main(String[] args) {
int temp = 0;
int holder = 0;
int average;
Random rand = new Random();
Histogram x = new Histogram(1, 20);
for(int i = 0; i<=10000; i++)
{
for(int j = 0; j<=3; j++)
{
temp = rand.nextInt(20) + 1;
holder = holder + temp;
}
average = Math.round(holder / 3);
x.submit(average);
}
System.out.println(x.toString());
}
}
然而,这没有帮助
我尝试了您的一些建议,使我的代码看起来像
import java.util.*;
public class DisplayHistogram {
public static void main(String[] args) {
Random rand = new Random();
Histogram x = new Histogram(1, 20);
for(int i = 0; i<=10000; i++)
{
int temp = 0;
int holder = 0;
int average = 0;
for(int j = 0; j<=3; j++)
{
temp = rand.nextInt(20) + 1;
holder = holder + temp;
}
average = Math.round(holder / 3);
x.submit(average);
}
System.out.println(x.toString());
}
}
这样写循环:
for(int i = 0; i<=10000; i++)
{
holder = 0; // add this line
for(int j = 0; j<=3; j++)
{
temp = rand.nextInt(20) + 1;
holder = holder + temp;
}
average = Math.round(holder / 3);
x.submit(average);
}
System.out.println(x.toString());
}
for(int i=0;i已修复。循环四次而不是三次。for循环应该是这样的
for(int i=0; i<=2; i++)
for(int i=0;i短答案
注意细节
你想要的答案
与另一个答案不同,
不要每次循环都初始化holder变量。
相反,将holder变量的范围最小化到循环中
public static void main(String[] args)
{
int average;
Random rand = new Random();
Histogram x = new Histogram(1, 20);
for (final int trialCount = 0; trialCount <= 10000; ++trialCount)
{
int holder = 0;
for (final int sampleCount = 0; sampleCount <= 3; ++sampleCount)
{
int temp = rand.nextInt(20) + 1;
holder += temp;
}
average = Math.round(holder / 3);
x.submit(average);
}
System.out.println(x.toString());
}
publicstaticvoidmain(字符串[]args)
{
整数平均;
Random rand=新的Random();
直方图x=新直方图(1,20);
对于(final int trialCount=0;trialCount在哪里重置holder
变量?我尝试在提交语句下面重置holder变量,我在第二段代码中显示了它,但在第一段代码中没有显示。事实上,你应该在第一个gor循环中声明temp、holder和average变量,因为它们在后面没有任何用途呃for循环被执行了。另外,你提到你想要3个数字的平均值,目前是4个数字而不是3个。这是我的问题。我是个十足的白痴,循环了3次而不是4次。
for(int i=0; i<=2; i++)
public static void main(String[] args)
{
int average;
Random rand = new Random();
Histogram x = new Histogram(1, 20);
for (final int trialCount = 0; trialCount <= 10000; ++trialCount)
{
int holder = 0;
for (final int sampleCount = 0; sampleCount <= 3; ++sampleCount)
{
int temp = rand.nextInt(20) + 1;
holder += temp;
}
average = Math.round(holder / 3);
x.submit(average);
}
System.out.println(x.toString());
}