IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java编写一个简单的购物车系统 -> 正文阅读

[Java知识库]Java编写一个简单的购物车系统

要求:

1.定义包System,定义主程序类main,定义商品类goods,定义异常类MyException。

2.对商品实现增删查改。要求自定义异常类,并且输入错误信息会抛出自定义异常信息。

运行效果:

主界面:

?抛出异常:

?


源码:

main:

package System;
import java.util.ArrayList;//创建集合需要导入的包
import java.util.Scanner;//扫描仪需要导入的包
public class main {//购物车系统主程序
	public static void main(String[] args) {
        //创建集合对象,用于保存商品数据信息
        ArrayList<goods> array = new ArrayList<goods>();

        //用循环完成再次回到主界面
        while (true) {
            //主界面
            System.out.println("********欢迎来到购物车管理系统********");
            System.out.println("1.添加商品");
            System.out.println("2.删除商品");
            System.out.println("3.修改商品");
            System.out.println("4.查看购物车");
            System.out.println("5.退出系统");
            System.out.println();//回车
            System.out.println("请输入对应编号执操作:");

            //用Scanner实现键盘输入
            Scanner i = new Scanner(System.in);
            String number = i.nextLine();

            //用switch语句完成操作的选择
            switch (number) {
                case "1":
                	addGoods(array);//调用添加商品的方法
                    break;
                case "2":
                	deleteGoods(array);//调用删除商品方法
                    break;
                case "3":
                	updateGoods(array);//调用修改商品方法
                    break;
                case "4":
                	findAllGoods(array);//调用查看购物车方法

                    break;
                case "5":
                    System.out.println("Bye!你已退出购物车,程序结束!^-^");
                    System.exit(0);  //退出程序
                default:
                	MyException q =new MyException();//创建自定义异常类对象,并显示抛出异常
                    q.MyExceptionvalue="请注意你的输入,请输入1-5之间的对应操作,请误越界!";//自定义抛出异常的信息
                	q.printException();//***调用抛出异常方法***
                	break;
            }
        }
    }

    //定义一个方法,用于添加商品
    public static void addGoods(ArrayList<goods> array) {
        //键盘录入商品对象所需要的数据,显示提示信息,提示要输入何种信息
        Scanner i = new Scanner(System.in);

        String id;

        while(true){//如果已存在该id的商品
            System.out.println("请输入商品id:");
            id = i.nextLine();
            boolean flag = isUsed(array, id);//调用isUsed方法,获取集合中id信息,然后赋值给左边变量
            if (flag) {//做一个判断
                MyException q =new MyException();//创建自定义异常类对象,并显示抛出异常
                q.MyExceptionvalue="存在该id的商品,请重新输入!";//自定义抛出异常的信息
            	q.printException();//***调用抛出异常方法***
            } else {
                break;
            }
        }

        System.out.println("请输入商品名称:");
        String name = i.nextLine();
        System.out.println("请输入商品属性:");
        String attribute = i.nextLine();
        System.out.println("请输入商品价格:");
        String price = i.nextLine();

        //创建商品对象,把键盘录入的数据赋值给商品对象的私有成员变量
        goods s = new goods();
        s.setId(id);
        s.setName(name);
        s.setAttribute(attribute);
        s.setPrice(price);
        
        //将商品对象添加到集合中
        array.add(s);

        //给出添加成功提示
        System.out.println("添加商品成功!");

    }

    //定义一个方法,判断商品id是否被使用
    public static boolean isUsed(ArrayList<goods> array, String id) {
    //如果与集合中的某一个商品id相同,返回true;如果都不相同,返回false
        boolean flag = false;
        for(int i=0; i<array.size(); i++) {
        	goods s = array.get(i);
            if(s.getId().equals(id)) {//equals判断id是否一样
                flag = true;
                break;
            }
        }
        return flag;
    }


    //定义一个方法,用于删除商品
    public static void deleteGoods(ArrayList<goods> array) {
        //键盘录入要删除的商品id,显示提示信息
        Scanner o = new Scanner(System.in);

        System.out.println("请输入你要删除的商品的id:");
        String id = o.nextLine();//定义公共字符串,可以接受制表符空格等……

        int index=-1;
        //遍历集合将对应商品对象从集合中删除
        for (int i = 0; i < array.size(); i++) {
        	goods s = array.get(i);
            if (s.getId().equals(id)) {
                index=i;
                break;
            }
        }
        if(index==-1){
        	MyException q =new MyException();//创建自定义异常类对象,并显示抛出异常
            q.MyExceptionvalue="没找到符合你输入的id所对应的商品,删除失败!";//自定义抛出异常的信息
        	q.printException();//***调用抛出异常方法***
        }else{
            array.remove(index);//删除下标元素
            //显示删除成功提示
            System.out.println("删除商品成功!");
        }
    }

    //定义一个方法,用于修改商品
    public static void updateGoods(ArrayList<goods> array) {
    	
    	//键盘录入要修改的商品id,显示提示信息
        Scanner o = new Scanner(System.in);
        System.out.println("请输入你要修改的商品的id:");
        String id = o.nextLine();//定义公共字符串,可以接受制表符空格等……
        
        int index=-1;
        //遍历集合将对应商品对象添加到集合中
        for (int i = 0; i < array.size(); i++) {
        	goods s = array.get(i);
            if (s.getId().equals(id)) {
                index=i;
                break;
            }
        }
        if(index==-1){
        	MyException q =new MyException();//创建自定义异常类对象,并显示抛出异常
            q.MyExceptionvalue="没找到符合你输入的id所对应的商品,修改失败!";//自定义抛出异常的信息
        	q.printException();//***调用抛出异常方法***
        }else{
        	 //键盘录入要修改的商品信息
            System.out.println("请输入商品的新名称:");
            String name = o.nextLine();
            System.out.println("请输入商品的新属性:");
            String attribute = o.nextLine();
            System.out.println("请输入商品的新价格:");
            String price = o.nextLine();

            //创建商品对象
            goods s = new goods();
            s.setId(id);
            s.setName(name);
            s.setAttribute(attribute);
            s.setPrice(price);

            //遍历集合修改对应的商品信息
            for (int i = 0; i < array.size(); i++) {
            	goods goods = array.get(i);
                if (goods.getId().equals(id)) {
                    array.set(i, s);
                    break;
                }
            }

            //显示修改成功提示
            System.out.println("修改商品成功!");
        }
       
    }

    //定义一个方法,用于查看购物车
    public static void findAllGoods(ArrayList<goods> array) {
        //判断集合中是否有数据,如果没有显示提示信息
        if (array.size() == 0) {
            System.out.println("你的购物车暂时没有任何信息,请添加!");
            //为了让程序不再往下执行,我们在这里写上return;
            return;
        }

        //显示购物车列表标题信息
        System.out.println("商品id\t商品名称\t商品属性\t商品价格");
        
        for (int i = 0; i < array.size(); i++) {
        	goods s = array.get(i);
            System.out.println(s.getId() + "\t" + s.getName() + "\t" + s.getAttribute() + "\t" + s.getPrice() + "元");
        }
    }
}

goods:

package System;

public class goods {//商品类
	private String id;//定义私有变量,商品id
    private String name;//定义私有变量,商品名称
    private String attribute;//定义私有变量,商品属性
    private String price;//定义私有变量,商品价格
    
    public goods() {//无参构造方法
    	
    }

    public goods(String id, String name, String attribute, String price) {//有参构造方法
        this.id = id;
        this.name = name;
        this.attribute = attribute;
        this.price = price;
    }
    
    //定义get、set方法以便于其他类调用或者赋值
    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 String getAttribute() {
		return attribute;
	}

	public void setAttribute(String attribute) {
		this.attribute = attribute;
	}

	public String getPrice() {
		return price;
	}

	public void setPrice(String price) {
		this.price = price;
	}
}

MyException:

package System;
public class MyException extends Exception{//自定义异常类
	public MyException() {//无参构造方法
		// TODO Auto-generated constructor stub
	}
	public MyException(String message) {//有参构造方法
		super(message);
	}
	
	public String MyExceptionvalue ;//定义私有成员变量,自定义异常抛出的值
	public void ts(String MyExceptionvalue) throws MyException{//自定义ts()方法,抛出输入的MyExceptionvalue的异常信息
		this.MyExceptionvalue=MyExceptionvalue;//接受输入的值,赋值给私有成员变量MyExceptionvalue
		throw new MyException(MyExceptionvalue);//抛出接受的值
	}
	
	public void printException() {//定义显示自定义抛出异常信息的方法,供其他类调用
		try{
			ts(MyExceptionvalue);
		}catch(Exception e){
		e.printStackTrace();
		}
	}
}

?

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-12-07 11:53:51  更:2021-12-07 11:56:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:23:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码