到目前为止,我的代码看起来像这样:
import java.util.Random;
public class StatsCalculator
{
public static void main(String[] args)
{
Random r = new Random();
System.out.println("The ten random values are: ");
for(int i=0; i<10; i++)
{
int randomint = r.nextInt(10);
System.out.print(" ," + randomint);
}
int randomint[];
int sum=0;
for(int i : randomint)
{
sum += i;
System.out.println("Sum = " + sum);
}
}
}
当我运行此代码时,会出现一条错误消息,说明如下:“变量randomint
可能尚未初始化,for (int i : randomint)
答案 0 :(得分:6)
试试这个:
int sum=0;
for(int i=0; i<10; i++)
{
int randomint = r.nextInt(10);
System.out.print(" ," + randomint);
sum = sum + randomint ;
}
System.out.println("Sum = " + sum);
答案 1 :(得分:2)
将所有random放在一个数组中,然后求它们:
Random r = new Random();
System.out.println("The ten random values are: ");
int[] values = new int[10];
for(int i = 0; i < 10; i++) {
int randomint = r.nextInt(10);
values[i] = randomint;
System.out.print(" ," + randomint);
}
int sum = 0;
for(int i : values) {
sum += i;
}
System.out.println("Sum = " + sum);
答案 2 :(得分:0)
您的数组randomInt
被定义为一个数组,但是元素永远不会添加到它中,然后您尝试迭代它并且那里什么都没有。
初始化
int[] randomInt = new int[size];
然后在其中创建元素。看起来你应该将它移到第一个数组之前并添加你创建的所有随机int
。
答案 3 :(得分:0)
错误告诉你一切:“变量randomint可能没有被初始化,因为(int i:randomint)”
在你的脑海里,你应该听到这个对话:
我最好检查一下这个随机...哦,这里是:
int randomint[];
如何初始化...文档...文档... THE DOCS! 这是:
创建数组的一种方法是使用new运算符。 ArrayDemo程序中的下一个语句为10个整数元素分配一个具有足够内存的数组,并将该数组赋值给anArray变量。
// create an array of integers
int[] anArray = new int[10];
如果缺少此语句,则编译器会输出如下错误,编译失败:
ArrayDemo.java:4:变量anArray可能尚未初始化。
好的,我们加上这个:
int randomint [] = new int [10];
...编译运行...
错误,如果我能看到随机数,为什么总和为0?
(再次阅读文档)
是的,需要在我的数组中存储那些随机的int,phew,还有一个更改:
Random r = new Random();
System.out.println("The ten random values are: ");
int randomint[] = new int[10];
for(int i=0; i<10; i++)
{
randomint[i] = r.nextInt(10);
System.out.print(" ," + randomint[i]);
}
int sum=0;
for(int i : randomint)
{
sum += i;
System.out.println("Sum = " + sum);
}
Uff,下次有人在SO上提出类似问题时,我可能会帮助他们。我要说的第一件事就是阅读文档:)