gpt4 book ai didi

java - 如何从 int 数组向下舍入到最接近的整数?

转载 作者:行者123 更新时间:2023-12-01 16:36:21 25 4
gpt4 key购买 nike

我正在用 Java 设计一个捐赠插件,用户可以从中捐赠自定义金额。通过捐赠,您可以从某些包裹中获得好处。

我想要做的是将整数n向下舍入到最接近的捐赠包。

例如,可能有 3 个捐赠包,全部表示为整数。捐款包有 5 美元、10 美元和 20 美元。如果用户捐赠 13 美元,我希望插件将其四舍五入为 10 美元,因为这是最近的捐赠包。

最佳答案

嗯,今天有点空闲。 (: 关心捐赠数组的顺序是递增的..否则先排序

public class Donation {
private static int[] donArray = {10, 5, 30, 20};
static{
Arrays.sort(donArray);
}

public static void main(String[] args){
int paid = 13;
System.out.println("Applied Donation: " + applyDonation(paid));
}

private static int applyDonation(int paid) {
int applied = 0;
for(int range: donArray){
if(range <= paid)
applied = range;
else
break;
}
return applied;
}
}

或者更简单:

    TreeSet<Integer> donSet = new TreeSet<Integer>(Arrays.asList(new Integer[]{10, 5, 30, 20}));
int paid = 13;
System.out.println("Applied Donation: " + donSet.floor(paid));

关于java - 如何从 int 数组向下舍入到最接近的整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8612891/

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