设计思路:
列举出买十本的所有情况: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);
}
}
结果截图: