Java 从用户数组输入中查找最小值

Java 从用户数组输入中查找最小值,java,arrays,Java,Arrays,假设要求用户在工作日输入Double 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: "); u

假设要求用户在工作日输入Double

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();
}
给定用户值,如果必须使用该方法,如何找到最低的double

public static int getLowestDouble(double[] numArray){

}
因此,在main函数中,我可以为这个打印消息调用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;
}
public static int getLowestDouble(double[]numArray){
双最小值=0;
双最小值=0;
int最小值_1=0;
对于(int i=最小值_1;inumArray[i]){
最小_1=i;
}
}
返回最小值_1;
}

当然,我只能得到最高的价值。我早就知道这是行不通的,但我知道展示尝试是必须的

若要获取最低值,请将数组中的第一个值存储为最低值,然后连续检查数组中的其余值是否小于当前最低值,如果小于,则将当前最低值设置为新的最低值

public static int getLowestDouble(double[] numArray){
    double lowest = numArray[0];
    for (double check : numArray)
        if (check < lowest)
           lowest = check;
    return (int) lowest; 
}
public static int getLowestDouble(double[]numArray){
最低双倍=努马拉伊[0];
对于(双重检查:numArray)
如果(检查<最低值)
最低=支票;
返回值(int)最低;
}

尽管如此,由于方法(int)中的返回类型,您将看到最终结果小数被截断,因此您可能希望将其更改为double,并删除return语句中的整数强制转换。

Java8+解决方案如下所示:

public static double getLowestDouble(final double[] numArray) {
    return Arrays.stream(numArray).min().orElse(0);
}

days[index]
将给你一个超出范围的索引例外。是的,我知道,我只是不知道如何描述这一天,在声明它的值之前必须包含在打印中。我真的不明白为什么
getLowestDouble()
将返回一个
int
,而不是
double
,因为
numArray
只包含double。你为什么要这个?这是作业用的。我想发布代码的完整内容,但我不能公开发布,因为我的教授可能会理解。问题不是你在网上寻求帮助。问题是你让别人帮你做家庭作业。这是一个可以用谷歌搜索的东西。你不应该,但是现在看看它^oh抱歉,函数必须返回一个int。我的作业也需要它,我不知道这是否有区别,但我使用的是eclipseThen,它不会引发类型不匹配。oh抱歉,是的,在for循环中,我没有看到,我想你在返回行中指的是使用哪个Java版本?这只适用于8+。
public static double getLowestDouble(final double[] numArray) {
    return Arrays.stream(numArray).min().orElse(0);
}