我是靠谱客的博主 含糊小甜瓜,最近开发中收集的这篇文章主要介绍java案例代码10--购物车案例--重要,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

代码下载地方:“

购物车以及其他代码的下载地址:

https://download.csdn.net/download/wtt234/39099704

ATMjava源代码下载地址:

https://download.csdn.net/download/wtt234/39661172

具体看注释:

本案例涉及两个原文件内容,分别是“”“Goods.java”,作为封装的商品类信息

第二个就是主程序"shopCap.java"的内容;

这个是Goods.java内容信息

package gouwuche;



// 封装的商品类
public class Goods {

    int id;   //编号
    String name;  //名称
    double price;   //价格
    int buyNumber;  //购买数量

}

这个是shopCap.java文件内容;

package gouwuche;

import java.sql.SQLOutput;
import java.util.Scanner;


/**
 * 购物车模块模拟
 * 需求:模拟购物车模块的功能,需要实现添加商品到购物车中,
 * 同时需要提供修改商品的购买数量,结算商品价格功能
 *
 * 分析:
 * 购物车中的每个商品都是一个对象,需要定义一个商品类
 * 购物车本身也是一个对象,可以使用数组对象代表他
 * 完成界面架构,让用户选择操作的功能
 */


public class ShopCar {

    public static void main(String[] args) {

        //添加商品add
        /**查看商品 query
         * 修改数量update
         * 结算价格pay
         * 需求:让用户输入商品信息,并加入到购物车,并且可以立即查看购物车信息
         * 需要让用户录入商品信息,创建商品对象封装商品信息
         * 并把商品对象加入到购物车数组中去
         * 查询购物车信息,就是遍历购物车数组中的每个商品对象。
         *
         * */
        // 2.定义购物车对象,使用一个数组对象表示

        Goods[] shopCar=new Goods[100];  //[null,null,null,...]

        Scanner sc=new Scanner(System.in);
        //3.搭建操作框架

        while (true){

            System.out.println("请您选择如下命令进行操作:");
            System.out.println("添加商品到购物车:add");
            System.out.println("查询商品到购物车:query");
            System.out.println("修改商品购买数量:update");
            System.out.println("结算购买商品的金额:pay");

            System.out.println("请输入命令:");
            String command=sc.next();
            switch (command){
                case "add":
                    //添加商品到购物车
                    addGoods(shopCar,sc);
                    break;

                case "query":
                    //查询购物车的商品展示
                    queryGoods(shopCar);
                    break;
                case "update":
                    //修改商品的购买数量
                    updateGoods(shopCar,sc);

                    break;
                case "pay":
                    //结算金额
                    pay(shopCar);

                    break;

                default:
                    System.out.println("没有该功能!");

            }

        }










    }

    public static void pay(Goods[] shopCar) {
        /**
         *当用户输入pay命令后,需要展示全部购买的商品信息和总金额
         * 分析:
         * 定义求和变量,遍历购物车数组中的全部商品,累加其单价*购买数量。
         */

        //1.定义一个求和变量累加金额
        double money=0;
        //2.遍历购物车数组中的全部商品对象,累加单价*数量


        //[g1,g2,null,null...]

        for (int i = 0; i <shopCar.length ; i++) {
            Goods g=shopCar[i];
            if(g!=null){
                money+=(g.price*g.buyNumber);

            }else{
                break;
            }
        }
        System.out.println("订单总金额:"+money);


    }

    public static void updateGoods(Goods[] shopCar,Scanner sc) {
        /**
         * 让用户输入商品id,找出对应的商品修改其购买数量
         */

        while (true){
            System.out.println("请输入要修改的商品id:");
            int id=sc.nextInt();
            Goods g=getGoodsById(shopCar,id);
            if(g==null){
                //没有该商品
                System.out.println("对不起,没有购买商品!");

            }else{
                //说明存在该商品对象,可以修改它了
                System.out.println("请输入:"+g.name+"商品最新购买数量:");
                int buyNumber=sc.nextInt();
                g.buyNumber=buyNumber;
                System.out.println("修改完成!");
                queryGoods(shopCar);  //修改完成后,在查询下商品信息
                break;

            }
        }




    }

    public static Goods getGoodsById(Goods[] shopCar,int id){
        //shopCar=g1,g2,null,null,....]
        for (int i = 0; i <shopCar.length ; i++) {
            Goods g=shopCar[i];
            if(g!=null){
                //判断这个商品对象的id是否是我们查找的
                if(g.id==id){
                    return g;
                }
            }else {
                return null;  // 找完了全面存在的商品,都没有找到!
            }

        }
        return null;   //代表找完了购物车中100个商品都是没有找到id一样的商品。

    }

    public static void queryGoods(Goods[] shopCar) {
        /**
         *查询购物车信息就是遍历购物车数组中的每个商品对象
         */

        System.out.println("========查询购物车信息如下=========");
        System.out.println("编号tt名称tt价格tt购买数量");
        //shopCar=[g1,g2,g3,g4,g5,null,null,...]
        for (int i = 0; i <shopCar.length ; i++) {
            Goods g=shopCar[i];  //定义一个商品实例,用于接收循环出的实例。
            if(g!=null){
                //展示这个商品
                System.out.println(g.id+"tt"+g.name+"tt"+g.price+"tt"+g.buyNumber);
            }else{
                //遍历结束
                break;
            }


        }

    }


    /**
     * 添加商品到购物车
     * @param shopCar
     * @param sc
     *
     * 分析:需要让用户录入商品信息,创建商品对象封装商品信息
     * 并把商品对象加入到购物车的数组中去。
     * 查询购物车信息,就是遍历购物车数组中的每个商品对象
     */
    public static void addGoods(Goods[] shopCar, Scanner sc){

        //1.录入用户输入的购买商品的信息
        System.out.println("请输入购买商品的编号(不重复):");
        int id=sc.nextInt();

        System.out.println("请输入购买商品的名称:");
        String name=sc.next();

        System.out.println("请输入购买商品的数量):");
        int buyNumber=sc.nextInt();

        System.out.println("请输入购买商品的价格:");
        double price=sc.nextDouble();

        //2.把这个购买商品的信息封装成一个商品对象

        Goods g=new Goods();
        g.id=id;
        g.name=name;
        g.buyNumber=buyNumber;
        g.price=price;


        //3.把这个商品对象添加到购物车数组中去
        //shopCar=a1,a2,null,null,....]

        for (int i = 0; i <shopCar.length ; i++) {

            if(shopCar[i]==null){
                //说明此位置没有元素存入,把我们新买的商品添加到此处即可
                shopCar[i]=g;
                break;  //结束,商品已经成功录入,不需要继续找位置了

            }

        }
        System.out.println("您的商品"+g.name+"添加到购物车完成!");




    }
}


最后

以上就是含糊小甜瓜为你收集整理的java案例代码10--购物车案例--重要的全部内容,希望文章能够帮你解决java案例代码10--购物车案例--重要所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部