课堂练习(卖书问题)
设计思想:
通过简单的枚举计算,发现只有在 买书数=3+5*n(n>0)时才会有特殊情况产生,其他情况均一致,所以就利用switch语句对 买书数除5的余数进行判断,进行不同的分类计算,其中当余数为3时进行买书数是否大于5的判断,进行计算;
程序代码:
package text; import java.util.Scanner; public class Halibote { public static double money(int m0,int m1){ double money=0; switch(m0){ case 0: money=m1*8*5*0.75; break; case 1: money=m1*8*5*0.75+8; break; case 2: money=m1*8*5*0.75+8*2*0.95; break; case 3: { if(m1==0) { money=m1*8*5*0.75+8*3*0.9; } else { money=(m1-1)*8*5*0.75+8*4*0.8*2; } break; } case 4: money=m1*8*5*0.75+8*4*0.8; break; default: break; } return money; } public static void main(String args[]){ Scanner in=new Scanner(System.in); int n; System.out.println("请输入购书总数:"); n=in.nextInt(); int m0,m1; m0=n%5;//按照五本一组多出来的数目 m1=n/5; double money; money=money(m0,m1); System.out.println(money); } }
运行结果截图:
个人感想:
程序设计有时需要自己事前进行一些枚举计算方便进行寻找规律,进而利用规律编程。