好吧,让我试着解释一下,我也可以在这里解释一下。 假设我有整数,A,B,C,D。这些整数中的任何一个都是随机整数1-10。所以这些中的每一个都是1-10。
我想找到ABC D中的最低整数。但继承棘手的部分,其中一个变量(a,b,c或d)与另一个相同,它们都是最低的变量。然后它将必须采取这些变量并在它们之间选择随机。我已经尝试了很多次,但无法得到它,我可以尝试任何建议或代码吗?
答案 0 :(得分:1)
在几分钟之前发布了类似的问题。请执行以下操作: 1)将这些元素放在一个数组中并按顺序排列它们(升序) 2)从第一个位置开始看看有多少等于元素。 3)如果有两个,使用Random类在1和2之间随机选择 4)如果随机元素得到2是选择数组的第二个元素,否则如果是1,则选择第一个元素。
我希望很清楚。 再见
答案 1 :(得分:0)
以下代码按顺序(从最低到最高)对1到10之间的随机int
数组进行排序,并比较两个最低int
s。如果它们是相同的,它随机打印两个中的一个,否则它只打印最低值;
public class LowestInt {
public static void main(String[] args){
int a = (int)(Math.random()*10)+1;
int b = (int)(Math.random()*10)+1;
int c = (int)(Math.random()*10)+1;
int d = (int)(Math.random()*10)+1;
int arrayOf[] = {a,b,c,d};
Arrays.sort(arrayOf);
if(arrayOf[0] == arrayOf[1]) {
System.out.println(arrayOf[(int)(Math.random()*1)]);
} else {
System.out.println(arrayOf[0]);
}
}
}
要从数组中的两个最低索引中的任何一个获取随机int
,我们只需使用0到1之间的随机int
访问该数组。
值得问一下自己虽然" 为什么要从两个最低的随机选择?"。它们将始终具有相同的值,因此您无法知道两者中的哪一个被选中。它似乎没有任何区别。
我希望这会有所帮助。