Java Varargs:查找数组中数字的索引

Java Varargs:查找数组中数字的索引,java,arrays,indexing,variadic-functions,Java,Arrays,Indexing,Variadic Functions,我试图在数组中找到一个数字的索引。我使用的是varargs方法。 我的任务是找到最少的数字,然后找到他的位置 public static void main(String[] args) { System.out.println(minimum(2.4, 4.5, -11.3, 3.9, -7.2, -12.1, 14.8)); } public static double minimum(double... n) { int k = 0

我试图在数组中找到一个数字的索引。我使用的是varargs方法。 我的任务是找到最少的数字,然后找到他的位置

    public static void main(String[] args) {

        System.out.println(minimum(2.4, 4.5, -11.3, 3.9, -7.2, -12.1, 14.8));
    }
    public static double minimum(double... n) {
        int k = 0;
        double min = n[k];

        for (double i : n) {
            k++;
            if (i < min) {
                min = i;
            }
            if (min == n[k - 1]) {
                System.out.println("minimum number index is " + (k - 1));
            }
        }
        return min;

当我将System.out.print置于for循环外打印k的最后一个值时。提前感谢您。

希望这对您有所帮助。只需将min索引保存在变量中,就像存储min值一样

public static double minimum(double... n) {
    int k = 0;
    double min = n[k];
    minIndex = k;

    for (double i : n) {
        k++;
        if (i < min) {
            min = i;
            minIndex = k-1;
        }
    }
    System.out.println("minimum number index is " + (minIndex));
    return min;
}
公共静态双最小值(双…n){
int k=0;
双最小值=n[k];
minIndex=k;
用于(双i:n){
k++;
如果(i
你就快到了

正如您正确认识到的,您的变量
k
包含您在for循环中看到的双精度的
索引+1

如果希望保留数组中最小值的索引,则需要执行与变量
min
相同的操作。您需要一个在循环外部初始化的附加变量。当在数组中找到新的“较小值”时,将
k-1
存储在此变量中


退出for循环时,该变量将保存数组中最小值的索引。

非常感谢。这就解决了问题。祝你一切顺利,谢谢你的回答。这有帮助。祝你一切顺利。
public static double minimum(double... n) {
    int k = 0;
    double min = n[k];
    minIndex = k;

    for (double i : n) {
        k++;
        if (i < min) {
            min = i;
            minIndex = k-1;
        }
    }
    System.out.println("minimum number index is " + (minIndex));
    return min;
}