Java:随机 Class 建议
Java: Random Class Advice
所以我应该创建一个程序,生成 1 到 1000 之间的 100 个随机整数,然后告诉返回偶数和奇数的整数数。到目前为止,我已经把那部分记下来了。但是,我无法弄清楚第二部分。我需要做同样的事情 10 次,然后我需要将所有这些加在一起得到总数。
import java.util.Random;
public class EvenOrOdd
{
public static void main(String[] args)
{
int even = 0, odd = 0;
int iteration = 0;
while (iteration<10)
{
for(int i = 0; i<100;i++)
{
int number2 = random.nextInt(1000) + 1;
if ((number2 % 2) == 0)
{
even++;
}
else if ((number2 % 2) == 1)
{
odd++;
}
}
System.out.println("Iteration " + " Evens " + " Odds");
iteration++;
System.out.println(iteration + " " + even + " " + odd);
iteration++;
System.out.println(iteration + " " + even + " " + odd);
iteration++;
System.out.println(iteration + " " + even + " " + odd);
iteration++;
System.out.println(iteration + " " + even + " " + odd);
iteration++;
System.out.println(iteration + " " + even + " " + odd);
iteration++;
System.out.println(iteration + " " + even + " " + odd);
iteration++;
System.out.println(iteration + " " + even + " " + odd);
iteration++;
System.out.println(iteration + " " + even + " " + odd);
iteration++;
System.out.println(iteration + " " + even + " " + odd);
iteration++;
System.out.println(iteration + " " + even + " " + odd);
}
System.out.println("\nEvens: " + even + "\nOdds: " + odd);
}
}
我试过取出
System.out.println("Iteration " + " Evens " + " Odds");
并将其放在 while 循环之上,然后删除除其中一个以外的所有
iteration++;
System.out.println(iteration + " " + even + " " + odd);
但是当我这样做时,每次迭代我的偶数和赔率几乎翻倍。
所以再重复一遍我想做的事情:我想做到每一个
iteration++;
System.out.println(iteration + " " + even + " " + odd);
显示新的偶数和奇数,而不是同一个。然后,因为我也不知道该怎么做,所以我想把十个偶数和十个赔率加起来。感谢您的帮助!
您几乎就在那里,主要问题是您在 while 循环内将迭代递增 10 次,因此它会立即退出 while 循环。我刚刚删除了所有这些增量,并且有效!
此外,在 while 循环外有一个偶数和奇数的总计数器,然后在 while 循环中每次迭代后将总数相加,如下所示:
public class EvenOrOdd {
public static void main(String[] args) {
Random random = new Random();
int evenTotal = 0, oddTotal = 0;
int iteration = 0;
System.out.println("Iteration " + " Evens " + " Odds");
while (iteration < 10) {
int even = 0, odd = 0;
for (int i = 0; i < 100; i++) {
int number2 = random.nextInt(1000) + 1;
if ((number2 % 2) == 0)
even++;
else if ((number2 % 2) == 1)
odd++;
}
iteration++;
System.out.println(iteration + " " + even + " " + odd);
evenTotal += even;
oddTotal += odd;
}
System.out.println("\nEvens: " + evenTotal + "\nOdds: " + oddTotal);
}
}
所以我应该创建一个程序,生成 1 到 1000 之间的 100 个随机整数,然后告诉返回偶数和奇数的整数数。到目前为止,我已经把那部分记下来了。但是,我无法弄清楚第二部分。我需要做同样的事情 10 次,然后我需要将所有这些加在一起得到总数。
import java.util.Random;
public class EvenOrOdd
{
public static void main(String[] args)
{
int even = 0, odd = 0;
int iteration = 0;
while (iteration<10)
{
for(int i = 0; i<100;i++)
{
int number2 = random.nextInt(1000) + 1;
if ((number2 % 2) == 0)
{
even++;
}
else if ((number2 % 2) == 1)
{
odd++;
}
}
System.out.println("Iteration " + " Evens " + " Odds");
iteration++;
System.out.println(iteration + " " + even + " " + odd);
iteration++;
System.out.println(iteration + " " + even + " " + odd);
iteration++;
System.out.println(iteration + " " + even + " " + odd);
iteration++;
System.out.println(iteration + " " + even + " " + odd);
iteration++;
System.out.println(iteration + " " + even + " " + odd);
iteration++;
System.out.println(iteration + " " + even + " " + odd);
iteration++;
System.out.println(iteration + " " + even + " " + odd);
iteration++;
System.out.println(iteration + " " + even + " " + odd);
iteration++;
System.out.println(iteration + " " + even + " " + odd);
iteration++;
System.out.println(iteration + " " + even + " " + odd);
}
System.out.println("\nEvens: " + even + "\nOdds: " + odd);
}
}
我试过取出
System.out.println("Iteration " + " Evens " + " Odds");
并将其放在 while 循环之上,然后删除除其中一个以外的所有
iteration++;
System.out.println(iteration + " " + even + " " + odd);
但是当我这样做时,每次迭代我的偶数和赔率几乎翻倍。
所以再重复一遍我想做的事情:我想做到每一个
iteration++;
System.out.println(iteration + " " + even + " " + odd);
显示新的偶数和奇数,而不是同一个。然后,因为我也不知道该怎么做,所以我想把十个偶数和十个赔率加起来。感谢您的帮助!
您几乎就在那里,主要问题是您在 while 循环内将迭代递增 10 次,因此它会立即退出 while 循环。我刚刚删除了所有这些增量,并且有效!
此外,在 while 循环外有一个偶数和奇数的总计数器,然后在 while 循环中每次迭代后将总数相加,如下所示:
public class EvenOrOdd {
public static void main(String[] args) {
Random random = new Random();
int evenTotal = 0, oddTotal = 0;
int iteration = 0;
System.out.println("Iteration " + " Evens " + " Odds");
while (iteration < 10) {
int even = 0, odd = 0;
for (int i = 0; i < 100; i++) {
int number2 = random.nextInt(1000) + 1;
if ((number2 % 2) == 0)
even++;
else if ((number2 % 2) == 1)
odd++;
}
iteration++;
System.out.println(iteration + " " + even + " " + odd);
evenTotal += even;
oddTotal += odd;
}
System.out.println("\nEvens: " + evenTotal + "\nOdds: " + oddTotal);
}
}