假设要求用户输入工作日的双打,
double[] userInput= new double[5];
String[] days = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday"};
for(int index = 0; index <= 11; index ++) {
System.out.println("Enter " + days[index] + " double amount: ");
userInput[Index] = scan.nextDouble();
}
这使我们得到类似的东西
Enter Monday double amount:
Enter Tuesday double amount:
Enter Wednesday double amount:
Enter Thursday double amount:
Enter Friday double amount:
给出用户值,如果必须使用该方法,如何找到最低的两倍
public static int getLowestDouble(double[] numArray){
}
这样,在主函数中,我可以为此打印消息调用getLowestDouble函数
System.out.println(days[] + " has the lowest value of " + getLowestDouble(userInput));
我尝试如下编写getLowestDouble方法
public static int getLowestDouble(double[] numArray){
double min = 0;
double MINIMUM = 0;
int MINIMUM_1 = 0;
for (int i = MINIMUM_1; i < numArray.length; i++) {
if(MINIMUM_1 > numArray[i]) {
MINIMUM_1 = i;
}
}
return MINIMUM_1;
}
但是,我当然只能获得最高的价值。我已经知道这行不通,但是我知道必须显示尝试。
答案 0 :(得分:2)
要获得最低的数字,请将数组中的第一个值存储为最低的值,然后连续检查数组中的其余值以查看它们是否小于当前的最低数字,如果是,则进行设置当前的最低编号到新的最低编号。
public static int getLowestDouble(double[] numArray){
double lowest = numArray[0];
for (double check : numArray)
if (check < lowest)
lowest = check;
return (int) lowest;
}
尽管如此,由于方法(int)中的返回类型,最终结果小数将被截断,因此您可能希望将其更改为双精度,并删除return语句中的整数。
答案 1 :(得分:0)
Java8 +解决方案如下:
public static double getLowestDouble(final double[] numArray) {
return Arrays.stream(numArray).min().orElse(0);
}