随机数之和

时间:2012-02-15 06:10:09

标签: java random

我是Java的新手,我正在尝试编写一个创建并汇总50个随机数的程序[1,3]。使用我当前的代码,我有50个数字并排输出,但我可以弄清楚如何添加它们。我尝试了int sum = sim + i;,但只创造了一倍的数字。我正在使用Eclipse并感谢您的帮助。

public static void main(String[] args) {
        int n = 50;
        runSimulation(n);

    }
    public static void runSimulation (int n){
        for (int i = 1; i <= n; i++){
            int sim = (int)(Math.random()*2.9999) + 1;
            System.out.print(sim);
        }
    }
}

10 个答案:

答案 0 :(得分:4)

试试这个:

public static void main(String[] args) {
        int n = 50;
        int sum = runSimulation(n);
        System.out.print(sum);
    }
    public static int runSimulation (int n){
        int sum = 0;
        for (int i = 1; i <= n; i++){
            int sim = (int)(Math.random()*2.9999) + 1;
            sum += sim;
            System.out.print(sim + " ");
        }
        return sum;
    }
}

答案 1 :(得分:2)

你可以这样做......

     int total = 0;
    for (int i = 1; i <=n; i++){
               int sim = (int)(Math.random()*2.9999) + 1;
               System.out.print(sim+" ");
               total = total+sim;
    }
    System.out.println(total);

答案 2 :(得分:2)

试试这个Output enter image description here

答案 3 :(得分:1)

错误是int sim = (int)(Math.random()*2.9999) + 1;

您应该在周期double sim = 0;之前初始化SIM并使用sim = sim + (int)(Math.random()*2.9999);

但最好使用sim += (int)(Math.random() * 3.);

答案 4 :(得分:1)

int sim = 0;
for (int i = 1; i <= n; i++)
{
  sim += (int)(Math.random()*2.9999) + 1;
}
System.out.print(sim);

答案 5 :(得分:0)

拥有一个int变量来保存其总计并将其设置为0

在循环内部,添加到此变量。

答案 6 :(得分:0)

在你用于求和的for循环之外初始化sim。

答案 7 :(得分:0)

你在循环的每次迭代中都要覆盖总和。

将变量声明和print语句拉出循环,如下所示:

public static void main(String[] args) {
        int n = 50;
        runSimulation(n);

    }
    public static void runSimulation (int n){
        int sim = 0;
        for (int i = 1; i <= n; i++){
            sim += (int)(Math.random()*2.9999) + 1;
        }
        System.out.print(sim);
    }
}

答案 8 :(得分:0)

两个主要建议:

  • 在每个循环迭代中添加的“sum”变量中保持运行总计。
  • 使用java.util.Random而不是Math.random()(因为您需要整数值)

因此代码可能如下所示:

public static void main(String[] args) {
    runSimulation(50);
}

public static void runSimulation(int n) {
    int sum=0;
    java.util.Random rand=new java.util.Random();
    for (int i = 1; i <= n; i++){
        int sim = rand.nextInt(3) + 1;
        sum = sum + sim;
        System.out.print(sim);
    }
    System.out.println();
    System.out.println("Total = "+sum);
}

答案 9 :(得分:0)

public static void main(String[] args) {
    int count = 50;
    runSimulation(count);
}

private static void runSimulation(int count) {
    int sum = 0;
    Random random = new Random();
    for (int i = 0; i < count; i++) {
        int number = random.nextInt(3) + 1;
        System.out.print(number);
        sum += number;
    }
    System.out.println("\nSum: " + sum);
}