如何在java中使用while循环生成随机数?
我需要生成从1到20的随机数,计算它们的和,直到超过100如何在java中使用while循环生成随机数?,java,Java,我需要生成从1到20的随机数,计算它们的和,直到超过100 Random rand = new Random(); int num = rand.nextInt(20)+1; System.out.println("Random number " + num); int sum = num; System.out.println("Current sum " + sum); num = rand.nextInt(20)+1; sum = num
Random rand = new Random();
int num = rand.nextInt(20)+1;
System.out.println("Random number " + num);
int sum = num;
System.out.println("Current sum " + sum);
num = rand.nextInt(20)+1;
sum = num + num;
System.out.println("Random number " + num);
System.out.println("Current sum " + sum);
while (sum > 100)
{
System.out.println("The sum " + sum + " exceeds 100");
}
this is what i have so far
您需要将生成和求和放入循环中。不能使用同一变量(
num
)来保存两个值。您将总和设为等于两个num,而不是实际跟踪num的总和
您需要将终止语句置于循环之外。并在循环外初始化您的总和
Random rand = new Random();
int sum = 0; //initialise your sum
while (sum < 100) // this equality was the wrong way around
{
int num = rand.nextInt(20)+1;
System.out.println("Random number " + num);
sum += num; //add your random num to the sum
// don't just make it equal to two nums.
System.out.println("Current sum " + sum);
}
System.out.println("The sum " + sum + " exceeds 100");
Random rand=new Random();
整数和=0//初始化你的总数
然而(总和<100)//这个等式是错误的
{
int num=rand.nextInt(20)+1;
System.out.println(“随机数”+num);
sum+=num;//将随机num添加到sum中
//不要让它等于两个nums。
系统输出打印项次(“当前总和”+总和);
}
System.out.println(“总和”+总和+“超过100”);
这里有一个非常有趣的方法
- 生成一个介于1和20之间(含1和20)的
整数流
- 变成迭代器
- 继续求和,直到总和>100
Random rand=new Random();
整数和=0;
for(Iterator it=rand.ints(1,21).Iterator();
sum<100&&it.hasNext();){
sum+=it.next();
}
或者更好,因为它可以避免拆箱
int sum = 0;
while ((sum += rand.nextInt(20)+1) < 100);
System.out.println(sum);
int和=0;
而((总和+=rand.nextInt(20)+1)<100);
系统输出打印项数(总和);
int sum = 0;
while ((sum += rand.nextInt(20)+1) < 100);
System.out.println(sum);