Theres三个盒子
用户输入橙子数量。
大盒子装20个,中号10个,小5个橘子装。
一个大盒子的运费是8.80美元,中盒子,6.00美元和小盒子4.50美元。
订单以最便宜的方式发货。
例如,52个橙子的订单将以四个方框装运:两个大,一个中等,一个小。
这就是它变得棘手的地方。
包装规则是完全填充大中型箱子;也就是说,盒子是完全包装好的。
只有小盒子可以有空格。例如,要运送52个橙子,您可以使用3个大盒子,但这样会使第三个盒子没有完全包装。
应显示运费,并在java中使用方法
有人愿意帮助一个老家伙学习java吗?
答案 0 :(得分:1)
我不会为您提供解决方案,因为您需要帮助学习而不是解决:
有人愿意帮助一个老家伙学习java吗?
我建议您执行以下操作:
我建议使用Java-8-streaming - 它可以使您的算法简短易读
可选的下一步:
答案 1 :(得分:1)
显然模数会告诉你你是否有橙色的数量,装在一个盒子里(中盒和大盒子的盒子已满),如果是的话,再试一次剩下的橘子,不要尝试用一个小盒子直到你没有剩下橙色。
这应该足够了,因为没有运送两个小盒子比一个大盒子便宜的情况。
编辑:我终于改变了主意,不需要模数。我使用了整数除法来使其工作。 public static void main(String[] args) {
int oranges = 15;
int bigBoxes = oranges / 20;
int mediumBoxes = (oranges-bigBoxes*20) / 10;
int smallBoxes = ((oranges-bigBoxes*20-mediumBoxes*10)+4) / 5;
System.out.println(String.format("big=%d, med=%d, small=%d", bigBoxes, mediumBoxes, smallBoxes));
}