Java 从用户数组输入中查找最小值
假设要求用户在工作日输入DoubleJava 从用户数组输入中查找最小值,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[] 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);
}