1.设计思想
通过找规律发现,当购买数量大于5本时,有两种情况。第一种:如果数的最后一位的值为8,则这八本按两个四本来算,剩下的按五本一划分来算最低;第二种:数的最后一位的值不为8,则将数对五求余,求商,根据余数大小选择对应的价格,用商乘每5本对应的价钱最低。
2.代码实现
1 import java.util.Scanner; 2 import java.util.InputMismatchException; 3 public class Cheicp { 4 5 public static void main(String[] args) { 6 int count,yu,shang;//count 书数 yu 余数 shang 商 7 double money;//钱数 8 Scanner sca=new Scanner(System.in); 9 System.out.println("输入购买的数量(整数)"); 10 try{ 11 count=sca.nextInt(); 12 while(count<=0) 13 { 14 System.out.println("请重新输入购买的数量(整数)"); 15 count=sca.nextInt(); 16 } 17 yu=count%10; 18 if(count<=5) 19 { 20 if(count==1) 21 { 22 System.out.println("最低价格为 "+8+" 元"); 23 } 24 if(count==2) 25 { 26 System.out.println("最低价格为 "+2*8*0.95+" 元"); 27 } 28 if(count==3) 29 { 30 System.out.println("最低价格为 "+3*8*0.9+" 元"); 31 } 32 if(count==4) 33 { 34 System.out.println("最低价格为 "+4*8*0.8+" 元"); 35 } 36 if(count==5) 37 { 38 System.out.println("最低价格为 "+5*8*0.75+" 元"); 39 } 40 } 41 else if(count>5&&yu==8) 42 { 43 shang=count/10; 44 money=51.2+60*shang; 45 System.out.println("最低价格为 "+money+" 元"); 46 } 47 else if(count>5&&yu!=8) 48 { 49 yu=count%5; 50 shang=count/5; 51 if(yu==0) 52 { 53 money=30*shang; 54 System.out.println("最低价格为 "+money+" 元"); 55 } 56 if(yu==1) 57 { 58 money=8+30*shang; 59 System.out.println("最低价格为 "+money+" 元"); 60 } 61 if(yu==2) 62 { 63 money=15.2+30*shang; 64 System.out.println("最低价格为 "+money+" 元"); 65 } 66 if(yu==3) 67 { 68 money=21.6+30*shang; 69 System.out.println("最低价格为 "+money+" 元"); 70 } 71 if(yu==4) 72 { 73 money=25.6+30*shang; 74 System.out.println("最低价格为 "+money+" 元"); 75 } 76 } 77 } 78 catch(InputMismatchException e) 79 { 80 System.out.println("输入不符合要求,请按要求输入"); 81 } 82 83 } 84 }
The Main Code
3.实现截图
4.个人总结
本次练习不难,关键是找出规律,再用代码实现就很容易了。
时间: 2024-10-27 12:30:41