package com.cheng.improve151suggest.model;
import java.text.NumberFormat;
/**
*
* 建议4:避免带变长参数的方法的重载
*
*/
public class Client {
//简单折扣计算
public void calPrice(int price,int discount){
float knockdownPrice =price * discount / 100.0F;
System.out.println("简单折扣后的价格是:"+formateCurrency(knockdownPrice));
}
//复杂多折扣计算
// 该方法的参数范畴覆盖了calPrice(int price,int discount)的参数范畴,影响可读性
public void calPrice(int price,int... discounts){
float knockdownPrice = price;
for(int discount:discounts){
knockdownPrice = knockdownPrice * discount / 100;
}
System.out.println("复杂折扣后的价格是:" +formateCurrency(knockdownPrice));
}
public void methodA(String str, Integer... is) {
}
public void methodA(String str, String... strs) {
}
//格式化成本地货币形式
private String formateCurrency(float price){
return NumberFormat.getCurrencyInstance().format(price/100);
}
public static void main(String[] args) {
Client client = new Client();
//499元的货物,打75折
client.calPrice(49900, 75);
}
}