面向对象程序设计4

MyPage页面解析:

1. 整个程序中,mypay1实例化,mypay1,mypay2,mypay3,mypay4,mypay5都需要实例化,赋值,最后调用,mypay1到mypay5在整个main函数中全局有效

2.在整个程序中,只要与数值有关系的,一、输入数值选择,二、变量名差不多,多一个数值

3.由于MyPay初始化时输入不同的参数,把参数做成数组

4.定义数组,把这些对象都放在数组中,数组中的每一个相当于一个商品对象,这里是MyPay的对象

5.第一层遍历五个MyPay对象,后遍历names,遍历prices,遍历peisons.但names,prices,peisons都是一层的关系,第一层循环是五个对象,每个对象赋值一次,把各个数组中的元素取出赋值即可

6.需要用户登录,才能选择商品,记住细节,之前执行过init,就执行过new Pay,之前的内容不允许输入用户名,必须敲回车,或者用户敲任意字符不接收,这里不接收没有登录用户,必有用户名,允许用户看首页,看完首页进入订单页

7. 这里循环状态就可以控制,通过订单的状态,如果订单关闭,就不用再进行while循环了,因为每一个商品都实例化一次,都有一个订单状态,根据用户选择的商品来决定,加了while外面没有no;或者只写一次,可以用do---while,do---while保证循环体出现一次

8.如果加入购物车的话,不停加入购物车,while循环退出条件是最后一个商品的购买状态

9.用函数解决代码中重复代码问题,参数不一致,在循环中用多个数组来解决,这里用函数传参的方式

部分代码:

 //实例化所有的商品,对数组进行遍历

        for(int i=0;i<5;i++){

                mypays[i]=new MyPay();

                mypays[i].setName(names[i]);

                mypays[i].setPrice(prices[i]);

                mypays[i].setPeison(peisongs[i]);

                mypays[i].setNum(1);

                print_goods(i+1,mypays[i].getName(),mypays[i].getPrice());

        }

 //mypays数组中第2到第5个元素所有username和money都等于第一个元素,从第二个元素开始赋值,这里j=1

       for(int j=1;j<5;j++){

           mypays[j].setUsername(mypays[0].getUsername());

           mypays[j].setMoney(mypays[0].getMoney());

       }

       //这里循环状态就可以控制,通过订单的状态,如果订单关闭,就不用再进行while循环了

        //因为每一个商品都实例化一次,都有一个订单状态,根据用户选择的商品来决定,加了while外面没有no

        //或者只写一次,可以用do---while,do---while保证循环体出现一次

        //如果加入购物车的话,不停加入购物车,while循环退出条件是最后一个商品的购买状态

        int no=1;

        do{

            //这里只接收商品编号,使用nextInt会报错,直接用try -----catch

            System.out.println("请输入购买商品的编号:");

            try{

                no=scanner.nextInt();

                //当选择对应的商品后,进行商品模块,商品模块中显示商品详情,立即购买,加入购物车两个按钮

                //调用商品模块中的显示。

                //首页中调用商品1的显示方法,这里想引用数组脚标用i-1

                mypays[no-1].show(mycart);

            }catch(Exception e){

                System.out.println("谢谢使用,你输入错误,请输入商品对应的编号");

            }

        } while(mypays[no-1].isStatus());

        //最后交给主类打印购物车mycart中其它商品,用增强for

        for(MyPay mygood:mycart.getCart()){

            if(mygood!=null){

                System.out.println(mygood.getName());

                System.out.println(mygood.getPeison());

                System.out.println(mygood.getPrice());

                System.out.println(mygood.getNum());

            }

        }

源代码在码云Gitee,有需要的小伙伴请自取哦~面向对象程序设计4代码 · zyt/麦当劳投资人 - Gitee.comicon-default.png?t=N7T8https://gitee.com/zytscode/mcdonalds-investors/blob/master/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A14%E4%BB%A3%E7%A0%81

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值