我试图解决一个问题。我必须定义一个包含5个元素的数组,并定义一个随机生成器方法,其中3个定义的integersi1,i2,i3彼此不同。所以当变量将是他们必须与众不同。我希望我很清楚。任何人都可以帮助我,或者欢迎任何建议。
import java.util.*;
public class Array {
public static void main(String[] arg) {
int[] v = { 1, 2, 3, 4, 5 };
DisplayArray(v);
Array n = new Array();
n.randomGenerator();
}
private static void DisplayArray(int[] arr) {
for (int x : arr)
System.out.print(x + " ");
System.out.println();
}
public int[] randomGenerator() {
int[] a = new int[3];
int i1;
int i2;
int i3;
for (int i = 0; i < a.length; i++) {
a[i] = (int) (Math.random() * 5);
}
i1 = a[0];
i2 = a[1];
i3 = a[2];
if (i1 != i2 && i2 != i3 && i1 != i3) {
System.out.println(i1 + "," + i2 + "," + i3);
} else {
if (i1 == i2 && i2 == i3 && i1 == i3) {
}
}
return a;
}
}
答案 0 :(得分:-2)
使用此选项有两种选择:
一种可能性是生成新的随机数检查它是否是任何现有的随机数,如果是,则重试生成。从理论上讲,这可能需要很长的时间,但实际上它很快。
另一种选择是例如如果你想生成0-9范围内的随机数(包括在内),如果你已经有3和7,生成Math.random()%8而不是Math.random()%10然后如果数字大于或等于3,则将其递增1,如果新数字大于或等于到7,将它递增1。