Java Map集合使用方法介紹(2)——商品信息管理

Java
public class Goods {
    private String id;//商品編號
    private String name;//商品名稱
    private double price;//商品價格

    //構造方法
    public Goods(String id,String name,double price){
        this.id = id;
        this.name = name;
        this.price = price;
    }

    //getter和setter方法
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }
    public String toString(){
        return "商品編號:"+id+",商品名稱:"+name+",商品價格"+price;
    }

}
Java
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();
            // 判斷商品編號id是否存在
            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;

            }

            Goods goods = new Goods(goodsId, goodsName, goodsPrice);
            // 將商品信息添加到HashMap中
            goodsMap.put(goodsName, goods);
            i++;
        }
        // 遍歷Map,輸出商品信息
        System.out.println("商品的全部信息爲:");
        Iterator<Goods> itGoods = goodsMap.values().iterator();
        while (itGoods.hasNext()) {
            System.out.println(itGoods.next());
        }

    }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章