Java Varargs:查找数组中数字的索引
Java Varargs: find index of a number in array
我正在尝试查找数组中数字的索引。我正在使用可变参数方法。
我的任务是找到最小的数字然后找到他的位置。
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;
结果是这样
index of minimum: 0
index of minimum: 2
index of minimum: 5
-12.1
当我将 System.out.print 放在 for 循环之外时,打印 k 的最后一个值。提前谢谢你。
希望这对您有所帮助。只需将最小索引保存在变量中,就像存储最小值一样。
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;
}
你快到了!
正如您正确认识到的那样,您的变量 k
包含您在 for 循环中查看的双精度值的 index + 1
。
如果你想保留数组中最小值的索引,你需要做与变量 min
相同的事情。您需要一个在循环外初始化的附加变量。当您在数组中找到一个新的“更小的值”时,您将 k-1
存储在此变量中。
当您退出 for 循环时,该变量将保存数组中最小值的索引。
我正在尝试查找数组中数字的索引。我正在使用可变参数方法。 我的任务是找到最小的数字然后找到他的位置。
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;
结果是这样
index of minimum: 0
index of minimum: 2
index of minimum: 5
-12.1
当我将 System.out.print 放在 for 循环之外时,打印 k 的最后一个值。提前谢谢你。
希望这对您有所帮助。只需将最小索引保存在变量中,就像存储最小值一样。
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;
}
你快到了!
正如您正确认识到的那样,您的变量 k
包含您在 for 循环中查看的双精度值的 index + 1
。
如果你想保留数组中最小值的索引,你需要做与变量 min
相同的事情。您需要一个在循环外初始化的附加变量。当您在数组中找到一个新的“更小的值”时,您将 k-1
存储在此变量中。
当您退出 for 循环时,该变量将保存数组中最小值的索引。