我正在创建一个基本的数学教程,对于这个部分,我有一个数组,数组填充了5个随机数,介于0和9之间。我创建的问题将给出5个随机数字,然后说"使用这些数字可以使用的最高数字是多少?"然后我将该数字存储在变量中
// These are all Random numbers using the Random method
a = num.nextInt(9);
b = num.nextInt(9);
c = num.nextInt(9);
d = num.nextInt(9);
e = num.nextInt(9);
f = num.nextInt(9);
// Asks the question right here (not important right now)
// prints out 5 digits here (again, not important right now)
g = ans.nextInt(); // this is the users response
int h3[] = {a, b, c, d, e, f}; // this array holds the random numbers
答案 0 :(得分:2)
在java8中
IntStream.of(h3).max().getAsInt();
答案 1 :(得分:0)
按降序对数组进行排序。该数字将是最高的5位数字。
虽然您要求5个随机数,但是您正在填写6个随机数。请更正。
int h3 [] = {a,b,c,d,e,f};
答案 2 :(得分:0)
我能想到这样做的最好方法是创建一个int
变量并循环遍历数组,如果数字大于int变量中的数字,则覆盖它。
int biggest = -1; //you want this to be negative one originally to ensure it is overwritten
for (int i = 0; i < num.length; i++) {
if (num[i] > biggest) {
biggest = num[i];
}
}
答案 3 :(得分:0)
Arrays.sort(h3);
int maxNo = h3[h3.length-1].
这应该做你需要的。您的最高值将设置为maxNo。别忘了导入Java.util。*;
答案 4 :(得分:0)
接受的答案确实有效,但对性能不利。
只需迭代数组并存储最高数字:
int highest = array[0];
for (int i = 0; i < array.length; i++) {
if (array[i] > highest) {
highest = array[i];
}
}
确实可以对数组进行排序,然后选择最后一个数组元素:
Arrays.sort(array);
int max = array[array.length - 1];
这可以解决问题,但应该知道导致性能不佳。
另请注意,在这种情况下,下面的Java 8方法似乎非常慢。当阵列变大时,它可能会相对更快。
return IntStream.of(array).max().getAsInt();