【发布时间】:2021-02-14 21:29:41
【问题描述】:
此代码已完全完成。我遇到了一个问题,即选择了最大数量并将其打印为最大值之前的数字。我似乎无法弄清楚如何让程序打印出实际的最大值。为了澄清起见,我不是在寻找作业的答案,因为代码已经完成了 99.9%,我只需要在这个问题上得到帮助。 代码如下:
package Zivkovic7;
import java.util.Arrays;
import java.util.Random;
public class Test {
private static Random rand = new Random();
public static void main(String[] args) {
int[] randomEight = new int[8];
for (int i = 0; i < 8; i++) {
//Get a random number between 50 and 100
randomEight[i] = rand.nextInt(51) + 50;
}
int[] extremeValues = sortArray(randomEight);
System.out.println("The lowest element is " + extremeValues[0]);
System.out.println("The highest element is " + extremeValues[1]);
int sum = 0;
int oddCount = 0;
int evenCount = 0;
System.out.println("\nHere is the array: ");
for (int i = 0; i < randomEight.length; i++) {
System.out.print(randomEight[i] + " ");
if (randomEight[i] % 2 == 0) {
evenCount++;
} else {
oddCount++;
}
sum += randomEight[i];
}
System.out.println("\nEvens: " + evenCount);
System.out.println("\nOdds: " + oddCount);
System.out.println("\nSum of all elements : " + sum);
}
public static int[] sortArray(int[] input) {
int extremeVal[] = new int[2];
extremeVal[0] = input[0]; /* Minimum */
extremeVal[1] = input[1]; /* Maximum */
/*
* Bubble Sort Algorithm
* */
int n = input.length;
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (input[j] > input[j + 1]) {
int temp = input[j];
input[j] = input[j + 1];
input[j + 1] = temp;
}
}
/* Finding minimum */
if (extremeVal[0] > input[i]) {
extremeVal[0] = input[i];
}
/* Finding maximum */
if (extremeVal[1] < input[i]) {
extremeVal[1] = input[i];
}
}
return extremeVal;
}
}
对不起,如果有什么看起来很奇怪,这是我第一次发布堆栈溢出。另外,如果需要更多信息,我可以及时提供。
【问题讨论】:
-
这也是输出的内容,因为我无法在这里编译:最低元素是 60 最高元素是 88 这是数组:56 59 60 61 66 73 88 99 事件数:4赔率:4 所有元素的总和:562
-
您可以编辑您的问题以添加这些详细信息,以免遗漏它们:-)