java - 查找和数组中的最大值

标签 java arrays

我已经查看了其他问题,但不完全是我在这里面临的问题, 这是我当前的代码

public class Qn3 {
    public static void displayHighestMark(String[] names,int[] marks, int count)
    {
        int mark = 0;
        int currentArrayPosition;
       for(int i=0;i <= names.length;i++)
       {

          if(mark <= marks[i])
              mark = marks[i];
          currentArrayPosition  = i;
       }
       System.out.println(name[i]+" with marks "+mark);
    }

    public static void main(String[] args)
    {
        String[] names = new String[]{"jack","hello","A","b","c","d"};// = new String[];

         int[] marks = new int[]{1,2,3,8,5,6};
        displayHighestMark(names,marks, 45);
    }

}

所以基本上我试图在标记数组中找到最高标记。但我期待 ArrayIndexOutOfBoundsException

最佳答案

 for(int i=0;i <= names.length;i++)

应该是

 for(int i=0;i < names.length;i++)

因为您正在尝试获取 marks对于超出范围的索引 ArrayIndexOutOfBoundsException .数组索引从 0 开始,所以当你循环和查找时总是需要寻找 <而不是 <=

请阅读此tutorial .

编辑:

if(mark <= marks[i])
{
              mark = marks[i];
          currentArrayPosition  = i;
}

关于java - 查找和数组中的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13400144/

相关文章:

java - 使用 Spring 进行任务调度,并将 cron 数据存储在实体中

自纪元以来的 Java 时间

java - OAuth 资源所有者密码 Java

java - 通过循环为按钮分配 onClick 监听器 - Android

java - 找到数组中等于和的最小元素

c++ - 恒定时间更改C++中数组的前k个元素?

javascript - 遍历二维数组并将数据提取到新数组

java - Android:如何将位图的百分比设为黑白,其余部分保留颜色?

c# - 将值插入数组的有效方法?

c++ - 检索16k键-值对的最快方法?