欢迎访问我的网站:http://www.infoshare.cc
某服饰批发市场推出某外贸帽子的批发促销活动,不同时段给予不同的优惠措施,促销优惠价格规则如下。请针对该项活动设计与实现批发计费类CalcFee,该类的接口描述如下,并编写Java应用程序TestCalcFee.java测试你所编写的类,要求从命令行输入服装的批发数量,程序运行后,能输出费用清单。
商品优惠价格规则
时间段 | 某商品价格 | 批发数量超出起步数量 |
11:00-12:00和 16:00-17:00 | 起批数量:100顶 单价:3元 | 超出部分单价再打8折 |
其他时间段 | 起批数量:200顶 单价:5元 | 超出部分单价再打9折 |
备注:在程序中可使用Java中的常用实用类Date类创建时间对象,使用Math类的round()方法可以实现保留2位小数,具体可查阅jdk的apidocs文档。
classCalcFee{
//属性:批发数量num、单价per_price、起批数量start_num、优惠折扣discount、总价total_price、是否可以起批boo
//方法
public void set_info(){} //根据当前时间段设置起批数量、单价、优惠折扣等信息
public voidcalc(int num){} //根据批发数量num计算总价
public voidshow(){} //输出费用清单
}
费用清单格式参考如下:
起批数量:
单价:
优惠折扣:
批发数量:
============
总价:
import javax.swing.JOptionPane;
//import java.text.DecimalFormat;
class CalcFee{
private int num;
private double per_price;
private int start_num;
private double discount;
private double total_price;
private boolean boo;
//属性:批发数量num、单价per_price、起批数量start_num、
//优惠折扣discount、总价total_price、是否可以起批boo
//方法
public void set_info()
{
if(((hour(datetime())>=11&&hour(datetime())<=12))||((hour(datetime())>=16&&hour(datetime())<=17)))
{
this.start_num=100;
this.per_price=3;
this.discount=0.8;
}
else
{
this.start_num=200;
this.per_price=5.0;
this.discount=0.9;
}
} //根据当前时间段设置起批数量、单价、优惠折扣等信息
private int hour(Object datetime) {
// TODO Auto-generated method stub
return 0;
}
private Object datetime() {
// TODO Auto-generated method stub
return null;
}
public void calc(int num)
{
if(num>=100)
{
this.num=num;
set_info();
this.boo=true;
}
else
{
this.boo=false;
}
} //根据批发数量num计算总价
public void show()
{
if(boo)
{
if(num>=100&&num<200)
total_price=100*per_price+(num-start_num)*per_price*discount;
else
total_price=200*per_price+(num-start_num)*per_price*discount;
System.out.println("起批数量:"+start_num);
System.out.println("单价:"+per_price);
System.out.println("优惠折扣:"+discount);
System.out.println("批发数量"+num);
//DecimalFormat df = new DecimalFormat("#.00");
//System.out.println(df.format(total_price));
System.out.println("总价:"+(double)(Math.round(total_price*100)/100));
//System.out.println("总价:"+(double)(Math.round((total_price*1000)/10))/100);
//System.out.println("总价:"+total_price);
}
else
{
System.out.println("您的输入不符合要求!!!");
}
} //输出费用清单
}
public class TestCalcFee {
public static void main(String args[])
{
CalcFee test=new CalcFee();
String m=String.valueOf(JOptionPane.showInputDialog("请输入您要批发帽子的数量"));
int n=Integer.valueOf(m);
test.calc(n);
test.show();
}
}