设计思路:
列举出买十本的所有情况:1.一本的时候不打折扣 2.两本的时候买两本价最低 3.三本的时候买三本价最低 4.四本的时候买四本价最低 5.五本的时候买五本价最低 6.六本的时候分一本和五本价最低 7.七本的时候分两本和五本价最低 8.八本的时候分四本和四本价最低 9.九本的时候分四本和五本价最低 10.十本的时候分五本和五本价最低。所以综上所述,按十个一循环,枚举出各个情况就能计算出任意本数的最低价格。
源代码:
import java.util.*; public class Harry { public static void main(String args[]) { Scanner input = new Scanner(System.in); System.out.print("请输入要买的书的数目(不能为零):"); double n = input.nextInt(); double y = n % 10; double z = n / 10 - y / 10; double m1 = z * 60; double m2 = 0; if(y==1) { m2 = 8; } else if(y==2) { m2 = 15.2; } else if(y==3) { m2 = 21.6; } else if(y==4) { m2 = 25.6; } else if(y==5) { m2 = 30; } else if(y==6) { m2 = 38; } else if(y==7) { m2 = 45.2; } else if(y==8) { m2 = 51.2; } else if(y==9) { m2 = 55.6; } double money = m1+m2; System.out.println("最低价格为:"+money); } }
结果截图: