java学习6:商品管理系统例子

xiaoxiao2021-02-28  103

商品信息管理 --使用HashMao对商品信息进行管理    key为商品编号,value为商品对象 --对HashMap中的商品信息进行增删改查    商品信息类:    属性:商品编号id,商品名称name ,商品价格 price    方法:构造方法,获取设置属性的方法,其他方法    程序在处理key值相同的情况,是做修改,覆盖 代码如下: Goods类: package com.imooc.set; public class Goods {     private String id;     private String naem;     private double price;     //构造方法     public Goods(String id, String naem, double price) {         this.id = id;         this.naem = naem;         this.price = price;     }     //get set 方法     public String getId() {         return id;     }     public void setId(String id) {         this.id = id;     }     public String getNaem() {         return naem;     }     public void setNaem(String naem) {         this.naem = naem;     }     public double getPrice() {         return price;     }     public void setPrice(double price) {         this.price = price;     }     @Override     public String toString() {         return "商品ID: " + id +                 "  商品名称: " + naem +                 "  商品价格: " + price;     } } 主类: package com.imooc.set; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Scanner; public class GoodsTest {     public static void main(String[] args) {         Scanner console = new Scanner(System.in);         //定义HashMap对象         Map <String, Goods> goodsMap = new HashMap <String, Goods>();         //接收键盘输入         System.out.println("请输入三条商品信息:");         int i = 0;         while (i < 3) {             System.out.println("请输入第" + (i + 1) + "条商品信息 ");             System.out.println("请输入商品编号:");             String goodsId = console.next();             //判断商品编号是否存在             // 注意:主键放在第一个输入可以直接用continue后整个对象重新输入,界面友好度高             if (goodsMap.containsKey(goodsId)) {                 System.out.println("该商品编号已经存在!请重新输入!");                 continue;             }             System.out.println("请输入商品名称:");             String goodsName = console.next();             System.out.println("请输入商品价格:"); //第一种判断价格数值类型,重新输入第二个商品所有信息 //            double goodsPrice=0; //            try { //                goodsPrice = console.nextDouble(); //            }catch (java.util.InputMismatchException e){ //                System.out.println("商品价格的格式不正确,请重新输入数值型数据!"); //                console.next(); //                continue; //            } //第二种判断价格数值类型,重新输入价格             double goodsPrice = 0;             boolean flag = false;             do {                 try {                     goodsPrice = console.nextDouble();                     flag = true;                 } catch (java.util.InputMismatchException e) {                     System.out.println("商品价格的格式不正确,请重新输入数值型数据!");                     flag = false;                     //这里为什么要增加一个?因为nextDouble()报错了,但是把值存入了下一个next方法中                     //导致下一个next()方法被调用了                     //将异常的放入新的next()中。                     console.next();                 }             } while (flag == false);             Goods goods = new Goods(goodsId, goodsName, goodsPrice);             goodsMap.put(goodsId, goods);             i++;         }         //遍历Map,输出商品信息         System.out.println("===========================");         System.out.println("商品的全部信息为:");         Iterator <Goods> itGoods = goodsMap.values().iterator();         while (itGoods.hasNext()) {             System.out.println(itGoods.next());         }     }

}

感谢慕课网!

转载请注明原文地址: https://www.6miu.com/read-20875.html

最新回复(0)