ArrayList方法综合练习

package com.zs.windows;

import java.util.ArrayList;
import java.util.Scanner;

import com.zs.entity.Goods;//导入Goods类,下面会说明怎么创建Goods类

public class Shop {
    
    private static Scanner s;

    public static void main(String[] args) {
        s = new Scanner(System.in);
        ArrayList<Goods> arr=new ArrayList<Goods>();
        chuShiData(arr);
        while (true) {
                Windows();//功能菜单窗口
                System.out.print("请选择功能:");
                int num=s.nextInt();
                switch (num) {
                case 1:
                    printarr(arr);//调用遍历集合方法
                    break;
                case 2:
                    addshop(arr);//调用添加元素方法
                    break;
                case 3:
                    upkeepShop(arr);//调用修改元素方法
                    break;
                case 4:
                    deleteShop(arr);//调用删除方法
                    break;
                case 0:
                    return;
                default:System.out.println("请输入正确的选择!!!");
                    break;
                }
        }
    }
    //创建删除商品方法
    private static void deleteShop(ArrayList<Goods> arr) {
        // 先创建功能菜单
        System.out.println("**********删除***********");
        System.out.println("1. 删除指定商品");
        System.out.println("2. 删除全部商品");
        System.out.println("************************");
        System.out.print("请选择:");
        int num=s.nextInt();
        switch (num) {
        case 1:
            printarr(arr);
            System.out.println("请输入要删除的商品序号:");
            arr.remove(s.nextInt());//清除制定下标元素
            break;
        case 2:arr.clear();//清除集合所有元素
        default:System.out.println("请输入正确的格式:");
            break;
        }
    }
    //创建修改商品方法
    private static void upkeepShop(ArrayList<Goods> arr) {
        // 创建修改功能界面
        
        System.out.println("请输入要修改的商品序号:");
        int num=s.nextInt();
        Goods g=arr.get(num);
        while(true){
            System.out.println("********修改商品*********");
            System.out.println("1.修改品牌名");
            System.out.println("2.修改价格");
            System.out.println("3.修改尺寸");
            System.out.println("4.修改库存");
            System.out.println("0.退出");
            System.out.println("**********************");
            System.out.print("请选择:");
            int check=s.nextInt();
//根据选择对象的属性来对象修改值
            switch (check) {
            case 1:
                System.out.println("请输入品牌名:");
                g.brand=s.next();
                break;
            case 2:
                System.out.println("请输入修改后价格:");
                g.price=s.nextDouble();
                break;
            case 3:
                System.out.println("请输入修改后尺寸:");
                g.size=s.nextDouble();
                break;
            case 4:
                System.out.println("请输入新的库存:");
                g.count=s.nextInt();
                break;
            case 0:return;
            default:System.out.println("请输入正确的格式");
                break;
            }    
            arr.set(num, g);//将指定下标元素修改为新的元素
            printarr(arr);//遍历输出集合
        }        
    }

    //创建添加商品方法
    private static void addshop(ArrayList<Goods> arr) {
        // 创建Goods对象
        Goods g=new Goods();
        System.out.println("请输入商品名:");
        g.brand=s.next();
        System.out.println("请输入商品价钱:");
        g.price=s.nextDouble();
        System.out.println("请输入商品尺寸:");
        g.price=s.nextDouble();
        System.out.println("请输入库存:");
        g.count=s.nextInt();
        arr.add(g);
        printarr(arr);
    }
    //创建桌面菜单
    private static void Windows() {
        // TODO 自动生成的方法存根
        System.out.println("****************商品管理***************");
        System.out.println("\t1.查看所有商品");
        System.out.println("\t2.添加商品");
        System.out.println("\t3.修改商品");
        System.out.println("\t4.删除商品");
        System.out.println("\t0.退出");
        System.out.println("*************************************");
    }
    //创建遍历查看所有商品方法
    private static void printarr(ArrayList<Goods> arr) {
        // TODO 自动生成的方法存根
        System.out.println("***************商品*****************");
        System.out.println("商品序号\t品牌\t价钱\t尺寸\t库存");
        for (int i = 0; i < arr.size(); i++) {
            Goods g=arr.get(i);
            System.out.println(i+".      "+g.brand+"\t"+g.price+"\t"+g.size+"\t"+g.count);    
        }
        System.out.println("\n");
    }

    private static void chuShiData(ArrayList<Goods> arr) {
        // 设置集合初始化数据;
        Goods s1=new Goods();
        s1.brand="小米";
        s1.price=1999.99;
        s1.size=15.5;
        s1.count=10;
        arr.add(s1);
        Goods s2=new Goods();
        s2.brand="华为";
        s2.price=1888.4;
        s2.size=4.2;
        s2.count=40;
        arr.add(s2);
        Goods s3=new Goods();
        s3.brand="金立";
        s3.price=10.88;
        s3.size=5.5;
        s3.count=100;
        arr.add(s3);
    }

}

在执行上面类之前,要先建一个Goods类,

package com.zs.entity;

public class Goods {
    public String brand;
    public double price;
    public double size;
    public int count;
}

猜你喜欢

转载自www.cnblogs.com/Zs-book1/p/10519366.html