Java 仅显示1-99之间奇数的随机数,在5个句子中显示20个数字
这个问题我需要帮助。我试图让程序在5个句子中显示1-99之间的奇数随机数,每个句子中有20个值。这就是我想到的,它在每句话中只显示了一个值。其余的请帮我。多谢各位Java 仅显示1-99之间奇数的随机数,在5个句子中显示20个数字,java,arrays,Java,Arrays,这个问题我需要帮助。我试图让程序在5个句子中显示1-99之间的奇数随机数,每个句子中有20个值。这就是我想到的,它在每句话中只显示了一个值。其余的请帮我。多谢各位 int[] n = new int[20]; int i = 1; while (i<=5) { int x=(int) (Math.random()*100); x=x*2+1; while (x<=100) { f
int[] n = new int[20];
int i = 1;
while (i<=5)
{
int x=(int) (Math.random()*100);
x=x*2+1;
while (x<=100)
{
for (int index = 0; index < n.length; index++)
{
n[index] = (int) (Math.random()*100);
}
for (int index = 0; index < n.length; index++)
{
System.out.print(x + " ");
}
System.out.printf();
i++;
break;
}
}
OP的代码声明它需要奇数,并且需要显示,我认为这意味着只需要转储输出。希望这个答案能提供指导,而不仅仅是复制/粘贴作为家庭作业问题的解决方案
public static void main(String[] args)
{
int[] odds = new int[100];
Random rnd = new Random();
for (int i = 0; i < odds.length; ++i) {
int nxt = 0;
while ( (nxt % 2) == 0) {
nxt = rnd.nextInt(99) + 1;
}
odds[i] = nxt;
}
for (int i = 0; i < odds.length; ++i) {
System.out.print(String.format("%2d ", odds[i]));
if ((i + 1) % 20 == 0) {
System.out.println();
}
}
}
样本输出:
73 15 71 15 21 23 63 97 11 89 39 75 33 53 31 25 43 47
69 87 85 93 39 59 41 19 67 77 55 53 19 29 49 23 93 63 73 41
71 27 15 31 39 99 47 43 85 67 81 75 15 37 55 33 97 73 45 47
37 73 93 89 35 31 29 59 35 61 71 79 15 45 49 11 27 73 23 21
13717931992977219591632183434961611
使用以下内容更新您的代码:
int[] n = new int[20];
int i = 1;
while (i<=5)
{
int x=(int) (Math.random()*100);
x=x*2+1;
while (x<=100)
{
for (int index = 0; index < n.length; index++)
{
n[index] = (int) (Math.random()*100);
}
for (int index = 0; index < n.length; index++)
{
int x1=(int) (Math.random()*100);
x1=x1*2+1;
System.out.print(x1 + " ");
}
System.out.printf("\n");
i++;
break;
}
}
您的代码在此处被破坏:
for (int index = 0; index < n.length; index++){
System.out.print(x + " ");
}
您正在打印的值是开始时在up中计算的值x的20倍
我会这样做:
public static void main(String[] args) {
int[] n = new int[20];
int i = 1;
while (i <= 5) {
for (int index = 0; index < n.length; index++) {
// random number between 0-49 then multiplied by 2 +1 still be
// between 0 and 1-100
n[index] = (int) (new Random().nextInt(49) * 2 + 1);
}
// pretty easy way to print arrays, no loop needed.
System.out.println(Arrays.toString(n));
i++;
}
}
请包括输入、当前输出和所需输出。此答案是否将值保持在1-99之间?我不这么认为。我非常关心它的答案在每句话中只显示了一个值。