繁体   English   中英

如何 select 单个数组中最小元素的最大索引 Java

[英]How to select the largest index of the smallest element in a single array Java

基本上,我需要找到数组中最小元素的最大索引。 第一个输入是元素的数量。 但是,如果稍后在数组中重复相同的数字,则需要返回该索引。

现在我的代码找到最小的数字并返回该数字的索引。 如何更新索引?

import java.util.Scanner;

public class smallestelement {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        int length = input.nextInt();

        int [] a = new int[length];
        for (int i = 0; i < length; i++){
          a[i] = input.nextInt();
        }

        // minimum 
        int min = a[0]; 
        // counter
        int index = 0; 
        // loop continues as long as i is less than the length of the array
        for (int i = 0; i < a.length; i++){   
              min = a[i];                   
              index = i;
              }
        System.out.println(index);
  }
}

您需要使用if语句来检查您是否真的在查看较小的元素。 使用<=进行比较,以便当您看到同样最小值时,使用后面的索引。

for (int i = 1; i < a.length; i++) {  
    if (a[i] <= min) {
        min = a[i];                   
        index = i;
    }
}

顺便说一句,循环从 1 开始而不是 0 很好,因为您在循环之前使用索引 0 处的值初始化minindex

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM