1700456244
1700456245
//获得书籍的价格
1700456246
1700456247
public int getPrice(){
1700456248
1700456249
return this.price;
1700456250
1700456251
}
1700456252
1700456253
}
1700456254
1700456255
注意 我们把价格定义为int类型并不是错误,在非金融类项目中对货币处理时,一般取2位精度,通常的设计方法是在运算过程中扩大100倍,在需要展示时再缩小100倍,减少精度带来的误差。
1700456256
1700456257
书店售书的过程如代码清单6-3所示。
1700456258
1700456259
代码清单6-3 书店售书类
1700456260
1700456261
public class BookStore{
1700456262
1700456263
private final static ArrayList<IBook>bookList=new ArrayList<IBook>();
1700456264
1700456265
//static静态模块初始化数据,实际项目中一般是由持久层完成
1700456266
1700456267
static{
1700456268
1700456269
bookList.add(new NovelBook(“天龙八部”,3200,“金庸”));
1700456270
1700456271
bookList.add(new NovelBook(“巴黎圣母院”,5600,“雨果”));
1700456272
1700456273
bookList.add(new NovelBook(“悲惨世界”,3500,“雨果”));
1700456274
1700456275
bookList.add(new NovelBook(“金瓶梅”,4300,“兰陵笑笑生”));
1700456276
1700456277
}
1700456278
1700456279
//模拟书店买书
1700456280
1700456281
public static void main(String[]args){
1700456282
1700456283
NumberFormat formatter=NumberFormat.getCurrencyInstance();
1700456284
1700456285
formatter.setMaximumFractionDigits(2);
1700456286
1700456287
System.out.println(”–––—书店卖出去的书籍记录如下:–––—”);
1700456288
1700456289
for(IBook book:bookList){
1700456290
1700456291
System.out.println(“书籍名称:”+book.getName()+”\t书籍作者:”+
1700456292
1700456293
book.getAuthor()+”\t书籍价格:”+formatter.format
[
上一页 ]
[ :1.700456244e+09 ]
[
下一页 ]