Example8_12 package wjw;import java.util.*;public class Example8_12 {public static void main(String[] args) {String shoppingReceipt="牛奶:8.5元,香蕉:3.6元,酱油:2.8元";PriceToken lookPriceMess=new PriceToken();System.out.print
package wjw; import java.util.*; public class Example8_12 { public static void main(String[] args) { String shoppingReceipt="牛奶:8.5元,香蕉:3.6元,酱油:2.8元"; PriceToken lookPriceMess=new PriceToken(); System.out.println(shoppingReceipt); double sum=lookPriceMess.getPriceSum(shoppingReceipt); System.out.printf("购物总价格%-7.2f",sum); int amount=lookPriceMess.getGoodsAmount(shoppingReceipt); double aver=lookPriceMess.getAverPrice(shoppingReceipt); System.out.printf("\n商品数目:%d,平均价格:%-7.2f",amount,aver); } } import java.util.*; public class PriceToken { public double getPriceSum(String shoppingReceipt){ String regex="[^0123456789.]+"; shoppingReceipt = shoppingReceipt.replaceAll(regex, "#"); StringTokenizer fenxi=new StringTokenizer(shoppingReceipt,"#"); double sum=0; while(fenxi.hasMoreTokens()){ String item=fenxi.nextToken(); double price=Double.parseDouble(item); sum=sum+price; } return sum; } public double getAverPrice(String shoppingReceipt){ double priceSum=getPriceSum(shoppingReceipt); int goodsAmount=getGoodsAmount(shoppingReceipt); return priceSum/goodsAmount; } public int getGoodsAmount(String shoppingReceipt){ String regex="[^0123456789.]+"; shoppingReceipt=shoppingReceipt.replaceAll(regex, "#"); StringTokenizer fenxi=new StringTokenizer(shoppingReceipt,"#"); int amount=fenxi.countTokens(); return amount; } }