在循环中将变量与随机数相加
Sum a variable with a random number in the loop
我正在生成一个介于 1 和 6 之间的随机数。我有一个值为 0 的整数值 (int number1 = 0;)。我需要将它们添加到循环中。循环的每一轮都会再次生成随机数并添加到前一个总和之上。如何在 JAVA(控制台)中写入。
将一直持续到总和为 100
int number1 = 0;
int number2 = (int) (Math.random () * 6 + 1);
例如:如果number2 come 3 number1(0) + number2(3) = 3
如果 number2 来了 4 number1 (3) + number2 (4) = 7
一个简单的 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;
}
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);
}
方法 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);
您可以只用一个变量编写一个更简单的解决方案:
for(int i = 0; i <= 6){
number += (int) (Math.random () * 6 + 1);
}
有很多种方法可以做到这一点。一个简单的方法是使用一个无限循环,你可以在 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;
}
}
}
}
我正在生成一个介于 1 和 6 之间的随机数。我有一个值为 0 的整数值 (int number1 = 0;)。我需要将它们添加到循环中。循环的每一轮都会再次生成随机数并添加到前一个总和之上。如何在 JAVA(控制台)中写入。
将一直持续到总和为 100
int number1 = 0;
int number2 = (int) (Math.random () * 6 + 1);
例如:如果number2 come 3 number1(0) + number2(3) = 3
如果 number2 来了 4 number1 (3) + number2 (4) = 7
一个简单的 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;
}
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);
}
方法 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);
您可以只用一个变量编写一个更简单的解决方案:
for(int i = 0; i <= 6){
number += (int) (Math.random () * 6 + 1);
}
有很多种方法可以做到这一点。一个简单的方法是使用一个无限循环,你可以在 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;
}
}
}
}