作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚开始用 java 编程,并且正在尝试一些东西。我编写了一些代码来创建我自己的数组,其中包含 x 索引,我可以在程序运行时填充这些索引。因此,如果我运行该程序,我可以说 x = 5,并且我将有 5 个索引需要填写(例如 5、2、7、4 和 7)。然后程序会找到最大值并打印它。然后我想知道是否可以让我的程序打印 maxValue 在数组中的次数。在上面的例子中,它是两个。但我似乎不知道如何做到这一点。
这是我到目前为止的代码:
import java.util.*;
public class oefeningen {
static void maxValue(int[] newArray){//this method decides the largest number in the array
int result = newArray[0];
for (int i=1; i<newArray.length; i++){
if (newArray[i] > result){
result = newArray[i];
}
}
System.out.println("The largest number is: " +result);
}
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int x; //this is the main part of the array
System.out.println("Please enter size of array:");
x = keyboard.nextInt();
int[] newArray = new int[x];
for (int j=1; j<=x; j++){//this bit is used for manually entering numbers in the array
System.out.println("Please enter next value:");
newArray[j-1] = keyboard.nextInt();
}
maxValue(newArray);
}
}
最佳答案
您可以在 maxValue 函数中进行跟踪,并在每次发现新的最大值时重置计数器。像这样的事情:
static void maxValue(int[] newArray){//this method decides the largest number in the array
int count = 0;
int result = newArray[0];
for (int i=1; i<newArray.length; i++){
if (newArray[i] > result){
result = newArray[i];
// reset the count
count = 1;
}
// Check for a value equal to the current max
else if (newArray[i] == result) {
// increment the count when you find another match of the current max
count++;
}
}
System.out.println("The largest number is: " +result);
System.out.println("The largest number appears " + count + " times in the array");
}
关于java - 如何在java中打印数组中的多个最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44910079/
我是一名优秀的程序员,十分优秀!