我正在打印数组及其索引中的最大元素。我尝试过了。
int[] a = {10,20,30,40,40};
int index = 0;
int max = a[0];
for(int i = 0; i < a.length; i++)
{
if(a[i] > max)
{
max = a[i];
index = i;
}
}
System.out.print(max + " " + index);
这将打印“ 40 3”。但是我需要“ 40 3 40 4”。如何更改代码以同时显示两个最大元素40及其索引?
答案 0 :(得分:0)
您可以找到最大值并检查其数组,例如
int[] a = {10, 20, 30, 40, 40};
int max = Arrays.stream(a).max().getAsInt();
for (int i = 0; i < a.length; i++) {
if (a[i] == max) {
System.out.print(max + " " + i);
}
}
答案 1 :(得分:-1)
如果要查找所有最大值并以某种方式存储它们,以备日后再用,则可以将Map
和max
设置为{ {1}}和index
。下面是实现此目的的一种方法:
Value
这将输出(您可以将打印方式更改为所需的任何内容):
Key