Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在循环中用一个随机数求和一个变量_Java_Java Console - Fatal编程技术网

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

Java 在循环中用一个随机数求和一个变量,java,java-console,Java,Java Console,我正在生成一个介于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,一个简单

我正在生成一个介于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,一个简单的for循环就可以了。您没有指定何时结束,因此下面是一个运行10次迭代的示例:

int number1 = 0;
for(int i = 0; i < 10; ++i) {
    number1 += (int)(Math.random() * 6 + 1);
}
int number1=0;
对于(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;
}
int number1=0;
随机=新随机();
对于(int i=0;i<10;++i){
number1+=random.nextInt(6)+1;
}

WHILE LOOP

int number1 = 0;
int loop = 6;

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

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

int number1 = 0;
int loop = 6;

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

for (int i = 0; i < loop; i++){
    number1 += (int) (Math.random() * 6 + 1);
}
int number1=0;
int循环=6;
for(int i=0;i
方法1-使用do while循环

int sum =0;
do{
    sum += (int) (Math.random () * 6 + 1);
  }while(sum < 100);
System.out.println("Sum = " + sum);
int sum =0;
while(sum < 100){
     sum += (int) (Math.random () * 6 + 1);
}
System.out.println("Sum = " + sum);
int sum;
for(sum = 0; sum < 100;){
    sum += (int) (Math.random () * 6 + 1);
}
System.out.println("Sum = " + sum);
int和=0;
做{
sum+=(int)(Math.random()*6+1);
}而(总和<100);
System.out.println(“Sum=”+Sum);
方法2-使用while循环

int sum =0;
do{
    sum += (int) (Math.random () * 6 + 1);
  }while(sum < 100);
System.out.println("Sum = " + sum);
int sum =0;
while(sum < 100){
     sum += (int) (Math.random () * 6 + 1);
}
System.out.println("Sum = " + sum);
int sum;
for(sum = 0; sum < 100;){
    sum += (int) (Math.random () * 6 + 1);
}
System.out.println("Sum = " + sum);
int和=0;
而(总和<100){
sum+=(int)(Math.random()*6+1);
}
System.out.println(“Sum=”+Sum);
方法3-用于循环

int sum =0;
do{
    sum += (int) (Math.random () * 6 + 1);
  }while(sum < 100);
System.out.println("Sum = " + sum);
int sum =0;
while(sum < 100){
     sum += (int) (Math.random () * 6 + 1);
}
System.out.println("Sum = " + sum);
int sum;
for(sum = 0; sum < 100;){
    sum += (int) (Math.random () * 6 + 1);
}
System.out.println("Sum = " + sum);
int和;
对于(总和=0;总和<100;){
sum+=(int)(Math.random()*6+1);
}
System.out.println(“Sum=”+Sum);

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

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

对于(int i=0;i有很多方法。一个简单的方法是使用一个无限循环,当
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
,我建议您使用如下所示:

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;
            }
        }
    }
}

intsum=0;for(inti=0;i
谢谢你,我学会了如何做这件事。非常欢迎你。祝你成功!