gpt4 book ai didi

Java:在数组列表中查找最接近特定负数的值

转载 作者:太空宇宙 更新时间:2023-11-04 10:39:45 25 4
gpt4 key购买 nike

我的问题是如何编写一个方法,将 Double 的 ArrayList 作为参数,并返回数组列表中最接近 -3.75 的 Double。

我得到了正数 3.42 的代码,但我坚持修改它以适应 -3.75

public static double question3(ArrayList<Double> input) {

double myNum = 3.42.;
double dist = Double.POSITIVE_INFINITY;
double closest = 0.0;

for (Double s : input) {
if (Math.abs(Math.abs(s) - myNum) < dist) {
dist = Math.abs(Math.abs(s) - myNum);
closest = s;
}
}
System.out.println(closest);
return closest;
}

有什么帮助吗?或者更好的方法来执行此任务?

最佳答案

如果重新发明轮子不是您的明确目标,您可以将 streammin 与自定义比较器结合使用:

public double findClosestTo(ArrayList<Double> arr, double value) {
return arr.stream().min(
Comparator.<Double>comparingDouble(x -> Math.abs(x - value))
).get();
}

如果数组为空,get 部分(来自Optional)将抛出错误。

关于Java:在数组列表中查找最接近特定负数的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49117485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com