日期:2014-05-20 浏览次数:20697 次
//Mercha.java public class Mercha { private String comname ;//商品名称 private String comprice ;//商品价格 private String comnum ; //商品数量 //名称 public void setComname(String comname){ this.comname=comname; } public String getComname() { return comname; } //价格 public void setComprice (String comprice){ this.comprice=comprice; } public String getComprice (){ return comprice ; } //商品数量 public void setComnum(String comnum){ this.comnum=comnum; } public String getComnum(){ return comnum; } }
//商品类 //Commodity static Map<Object, Object> commodity = new HashMap<Object, Object>();// 储存商品 // ////添加数据 Mercha mer1 = new Mercha(); mer1.setComname("海尔"); mer1.setComprice("120.0"); mer1.setComnum("100"); // ////数据 Mercha mer2 = new Mercha(); mer2.setComname("大中"); mer2.setComprice("150.0"); mer2.setComnum("120"); // /////////数据 Mercha mer3 = new Mercha(); mer3.setComname("长虹"); mer3.setComprice("190.0"); mer3.setComnum("135"); commodity.put(mer1, mer1); commodity.put(mer2, mer2); commodity.put(mer3, mer3); // 输出 do { Mercha mer5 = new Mercha();// 用于将处理后的商品信息转交至支付中心的Map<>. System.out.println(">>>>>>>>>>>>商品处理中心"); System.out.println("商品名称" + "\t\t" + "商品数量" + "\t\t" + "商品价格"); for (Object obj : commodity.keySet()) { System.out.println(((Mercha) commodity.get(obj)).getComname() + "\t\t" + ((Mercha) commodity.get(obj)).getComnum() + "\t\t" + ((Mercha) commodity.get(obj)).getComprice()); } //commodity.clear();// 输出之后,清空map<>,防止重复添加 for (Map.Entry<Object, Object> entry : commodity.entrySet()) { // mer5.getComname() commodiname = ((Mercha) entry.getKey()).getComname();// 商品名称 commodinum = mer4.getComnum();// 购买的数量<控制台输入> commodiprice = ((Mercha) entry.getValue()).getComprice();// 商品价格 // 处理商品数量过程 String commodinums = ((Mercha) entry.getValue()) .getComnum();// 商品总数量<已定义> commodinums_always = Integer.valueOf(commodinums) .intValue();// 获得商品总数量<String转int> commodinums_buy = Integer.valueOf(commodinum).intValue();// 购买数量<String转换为int> commodinums_results = commodinums_always - commodinums_buy;// 获得已经售出后的商品数量<int> commodinums_resultss = Integer .toString(commodinums_results);// 将int转为String. // 处理数量过程结束 if (mer4.getComname().equals(commodiname) && commodinums_buy <= commodinums_always && commodinums_buy > t.Minnum) {// 值比较:查找是否有相应商品,并且数量是否大于所要购买的数量 // 用一个对象接收上面的值.然后再将对象传入支付类中的map mer5.setComname(commodiname);// 1.用对象存储名称 mer5.setComnum(commodinum);// 2.存储价格 mer5.setComprice(commodiprice);// 3.存储购买数量<控制台输入的值> pay.pays.put(mer5, mer5);// 将上述信息放入支付类的map<>. System.out.println("购买成功!"); mer6.setComname(commodiname);// 1.用对象存储名称 mer6.setComprice(commodiprice);// 2.存储价格 mer6.setComnum(commodinums_resultss);// 3.存储数量<已变化> findname = true;// 找到商品,findname为真 } }