我是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);
}
}
}
答案 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
答案 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)
两个主要建议:
因此代码可能如下所示:
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);
}