首页 > 解决方案 > 如何在数组Java中查找并返回越来越低的值的索引

问题描述

我有一个数组{ 8, 4, 3, 2, 5, 6, 1, 7 },我希望它返回数组中最小值的索引、数组中下一个最小值的索引等等。

我有这个代码;

private static int getSlotPosition(int[] iArray) {
        int lowestValue;
        lowestValue = iArray[0];
        int slot = 0;
        for (int i = 0; i < iArray.length; i++) {
            if (iArray[i] < lowestValue) {
                lowestValue = iArray[i];
                slot = i;
            }

        }
        return slot;

    }

上面的方法是在for循环中调用的,每次调用都会改变数组的排列方式。

所以我希望在每次调用该方法后返回输出(即索引)(假设位置保持不变),就像这样;

  1. 第一次调用后返回的索引是 6,cos 1 是最小值
  2. 第二次调用后返回的索引是 3,cos 2 是下一个最小值
  3. 第二次调用后返回的索引是 2,cos 3 是下一个最小值,依此类推

请有人能帮帮我。谢谢。

标签: javaarraysfor-loopindexing

解决方案


您的方法返回一个 int ,这意味着它不能返回任何其他 ONE 值。如果要解决该任务,则需要使用递归来完成,或者使该方法按顺序返回具有最低索引的数组。


推荐阅读