当前位置: 首页 > 知识库问答 >
问题:

如何在一个数组Java中找到最大的三个数?

蔺沛
2023-03-14

我有一个数组,我需要三个数中最大的一个数和各自的索引值。我有一个这样的数组:

int [] value = new int[5];
value[0] = 8;
value[1] = 3;
value[2] = 5;
value[3] = 2;
value[4] = 7;

如何找到最大的数字及其索引值?

共有2个答案

唐利
2023-03-14

我已经为你做了,这起作用了。

下面是完整的代码:

import java.util.Arrays;

class tester{
    public static void main(String[] args){
        int [] value = new int[5];
        value[0] = 8;
        value[1] = 3;
        value[2] = 5;
        value[3] = 2;
        value[4] = 7;

        int size=value.length;

        int[] temp=(int[])value.clone();

        Arrays.sort(temp);

        for(int i=0;i<3;i++)
        {

           System.out.println("value: "+temp[size-(i+1)]+" index "+getIndex(value,temp[size-(i+1)]));
        }

    }

   static int getIndex(int[] value,int v){

       int temp=0;
        for(int i=0;i<value.length;i++)
        {
            if(value[i]==v)
            {
                temp=i;
                break;
            }
        }

        return temp;

    }

}
薛祯
2023-03-14

我怀疑这是家庭作业,所以我会给一些帮助,但不是一个完整的解决方案。

你需要最大的三个数字,以及它们的索引值?

好吧,遍历数组,跟踪到目前为止找到的最高的三个数字。还要跟踪他们的索引号。

您可以从仅对最大的数字及其索引执行此操作开始。那应该很容易。它需要两个变量,例如biggestnumberindexofbiggestnumber。从找到最大的数字开始(微不足道),然后添加一些代码来记住它的索引。

一旦您有了这些,您可以添加更多的代码来跟踪第二大数字及其索引。

之后,对第三个最大的数字做同样的操作。

 类似资料:
  • 我必须用随机值填充三个数组(完成),从每个数组中找到最大值(完成),然后在指定的三个数组中找到最大值((我不知道怎么做,有人能帮我吗?))。 但是,主要的问题是代码重复,我试了几种方法来做,但是失败了,有人能帮我吗?

  • 问题内容: 最近有人要求我为一份工作编写3个测试程序。它们将仅使用核心Java API和我选择的任何测试框架来编写。应在适当的地方实施单元测试。 尽管我根本没有收到任何反馈,但我想他们不喜欢我的解决方案(否则我会收到他们的来信),所以我决定在这里展示我的程序,并询问这种实现是否可以认为是好的,并且,如果没有,那为什么呢? 为避免混淆,我现在只问第一个。 实现一个函数,以在另一个更大的数组中查找一个

  • IntStream可能是最简单的方法,但我只能获取最小的M数字,如下所示: 顺便说一句,考虑算法复杂性并假设N 我认为最好的复杂性可能达到O(N log(M)),但我不知道Java 8是否有这种流方法或收集器。

  • 本文向大家介绍寻找一数组中前K个最大的数相关面试题,主要包含被问及寻找一数组中前K个最大的数时的应答技巧和注意事项,需要的朋友参考一下 考察点:数组    

  • 如何在java中找到负整数的最大有效数?我有以下代码,可以很好地处理正整数。这是代码: 现在,我可以通过将变量max减少到-5或低于-4来解决这个问题,但这是低效的,因为我们不知道最小值。 那么,如何实现呢?

  • 问题内容: 因此,假设我有一个大小为10的数组,索引范围为0到9。我在其中添加了一堆元素,并停止在索引6处添加。因此,使用array.length,我可以知道数组的大小为10,但是,如何找到哪个索引包含最后一个值,之后又为空?我是否想进行循环并在index == null处停止? 我通过创建一个动态数组来模拟arraylist,该数组在大小已满时会增长。 Arg,忘了告诉大家,如果数组为int,则