在循环中用一个随机数求一个变量的和

06odsfpq  于 2021-06-29  发布在  Java
关注(0)|答案(5)|浏览(336)

我正在生成一个介于1和6之间的随机数。我有一个值为0的整数值(int number1=0;)。我需要把它们添加到一个循环中。循环的每一轮都将再次生成随机数,并在上一个和的基础上相加。如何用java(控制台)编写。
将一直持续到100

int number1 = 0;
int number2 = (int) (Math.random () * 6 + 1);

例如:如果数字2来自3数字1(0)+数字2(3)=3
下一次旅行如果数字2来了4数字1(3)+数字2(4)=7

rbl8hiat

rbl8hiat1#

while循环:

int number1 = 0;
int loop = 6;

while (loop > 0){
    number1 += (int) (Math.random () * 6 + 1);
    loop--;
}

for循环:

int number1 = 0;
int loop = 6;

for (int i = 0; i < loop; i++){
    number1 += (int) (Math.random() * 6 + 1);
}
zf2sa74q

zf2sa74q2#

您可以只使用一个变量编写更简单的解决方案:

for(int i = 0; i <= 6){
    number += (int) (Math.random () * 6 + 1);
}
2g32fytz

2g32fytz3#

方法1-使用do while循环

int sum =0;
do{
    sum += (int) (Math.random () * 6 + 1);
  }while(sum < 100);
System.out.println("Sum = " + sum);

方法2-使用while循环

int sum =0;
while(sum < 100){
     sum += (int) (Math.random () * 6 + 1);
}
System.out.println("Sum = " + sum);

方法3-使用for循环

int sum;
for(sum = 0; sum < 100;){
    sum += (int) (Math.random () * 6 + 1);
}
System.out.println("Sum = " + sum);
rt4zxlrg

rt4zxlrg4#

有很多方法可以做到这一点。一个简单的方法是使用一个无限循环,当 number1 == 100 . 检查也很重要 if (number1 > 100) 在添加一个随机数之后,如果 true .

public class Main {
    public static void main(String[] args) {
        int number1 = 0;
        while (true) {
            System.out.println("Current value: " + number1);
            if (number1 == 100) {
                break;
            }
            int random = (int) (Math.random() * 6 + 1);
            number1 += random;
            if (number1 > 100) {
                number1 -= random;
            }
        }
    }
}

示例运行:

Current value: 0
Current value: 4
Current value: 9
Current value: 13
Current value: 19
Current value: 24
Current value: 29
Current value: 35
Current value: 39
Current value: 43
Current value: 48
Current value: 51
Current value: 57
Current value: 58
Current value: 62
Current value: 66
Current value: 70
Current value: 74
Current value: 79
Current value: 85
Current value: 88
Current value: 93
Current value: 97
Current value: 97
Current value: 98
Current value: 98
Current value: 100

避免将生成的随机数 int ,我建议您使用 Random#nextInt(int bound) 如下图所示:

import java.util.Random;

public class Main {
    public static void main(String[] args) {
        int number1 = 0;
        Random rand = new Random();
        while (true) {
            System.out.println("Current value: " + number1);
            if (number1 == 100) {
                break;
            }
            int random = rand.nextInt(6) + 1;
            number1 += random;
            if (number1 > 100) {
                number1 -= random;
            }
        }
    }
}
y1aodyip

y1aodyip5#

一个简单的for循环就可以了。您没有指定何时结束,因此下面是一个运行10次迭代的示例:

int number1 = 0;
for(int i = 0; i < 10; ++i) {
    number1 += (int)(Math.random() * 6 + 1);
}

您还可以随机选择:

int number1 = 0;
Random random = new Random();
for(int i = 0; i < 10; ++i) {
    number1 += random.nextInt(6) + 1;
}

相关问题