十个随机数的总和

时间:2013-12-02 14:46:48

标签: java arrays sum

到目前为止,我的代码看起来像这样:

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)

4 个答案:

答案 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)”

在你的脑海里,你应该听到这个对话:

  • 嗯,为什么告诉我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上提出类似问题时,我可能会帮助他们。我要说的第一件事就是阅读文档:)