您的位置:首页 > 其它

课堂练习之《哈利波特》

2016-05-30 16:31 453 查看
设计思想:

根据计算找到以下规律,用总数除以5,余数为0时,按5本一组折扣25%算最便宜,当然还要考虑用户输入的为0时的情况;余数为1时,按其中一本原价,其他5本一组折扣25%算最便宜;余数为2时,按其中两本折扣5%,其余5本一组折扣25%算最便宜;余数为3时,如果总数为3本,按折扣10%,否则按其中八本四本一组按折扣20%,其余5本一组折扣25%算最便宜;余数为4时,按其中四本折扣20%,其余5本一组折扣25%算最便宜。

代码实现:

import java.util.Scanner;

public class Dazhe {

public static void main(String []agrs){

Scanner reader=new Scanner(System.in);

System.out.println("请输入要买书的总数:");

int sum=reader.nextInt();

int shang=sum/5; //总数除5取商

int yushu=sum%5; //总数除5取余

double price=0;

switch(yushu) //按照余数分类

{

case 0: //余数为0时

if(sum==0) //若输入为0,直接提示输入错误

{

System.out.println("输入错误!请重新输入!");

break;

}

else //否则按5本一组买

{

price=5*8*(0.75)*shang;

break;

}

case 1: //余数为1时

price=8+shang*5*8*(0.75); //有一本按原价算,其他按5本一组

break;

case 2: //余数为2时

price=shang*5*8*(0.75)+2*8*(0.95); //其中两本按折扣5%算,其余按5本一组算

break;

case 3: //余数为3时

if(sum==3) //若为3本,则直接按10%的折扣算

{

price=3*8*(0.9);

break;

}

else //否则其中八本按四本一组折扣20%算,其余按5本一组算

{

price=(shang-1)*5*8*(0.75)+4*8*(0.8)*2;

break;

}

case 4: //余数为4时,其中四本按折扣25%算,其余按5本一组算

price=shang*5*8*(0.75)+4*8*(0.8);

break;

}

System.out.println("您最少需支付:"+price+"元");

}

}

实现截图:





个人总结:

[b]一些编程问题要先手动计算,寻找规律,再进行演绎推理。[/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: