练习(5)

账号Goods:会员名 密码 手机号码 所购商品
商品Vip:商品编号 商品名称 商品单价 购物会员

//先注册,再登录 展示商品列表 提示购买哪件商品

——————-shopping System——————-
1,注册 2,登录
请选择:2
请输入用户名:sai
请输入密码:pass
登录成功,欢迎您,sai!

**商品列表*
商品编号 商品名称 商品单价
001 T恤 ¥245
002 网球鞋 ¥570
003 网球拍 ¥320
请选择:1–>查看商品信息 2–>购买商品 3–>返回主界面
1

该商品信息如下:
商品编号 商品名称 商品单价 所购会员姓名
001 T恤 ¥245 sai,tom

请选择:1–>查看商品信息 2–>购买商品 3–>返回主界面
2
请选择购买的商品编号:001
购买成功!
是否继续购买?y继续,n退出
n
您的购买商品信息如下:
**商品清单*
商品编号 商品名称 商品单价
001 T恤 ¥245

**商品列表*
商品编号 商品名称 商品单价
001 T恤 ¥245
002 网球鞋 ¥570
003 网球拍 ¥320
请选择:1–>查看商品信息 2–>购买商品 3–>返回主界面

package test;
//创建系统数据类来存放全局变量
public class SystemData {
    public static Goods[] gs=new Goods[20];
    public static Vip[] vips=new Vip[20];
    public static Goods arr=new Goods();

}
package test;
import java.util.*;
//创建工具类
public class MyUtil {
    public static String getMessage(){
        Scanner sc=new Scanner(System.in);
        String xx=sc.nextLine();
        return xx;
    }
    public static void getList(){
        System.out.println("*********商品列表***********");
        System.out.println("物品编号"+"\t"+"物品"+"\t"+"单价");
        System.out.println("001"+"\t"+"T恤"+"\t"+"¥245");
        System.out.println("002"+"\t"+"网球鞋"+"\t"+"¥570");
        System.out.println("003"+"\t"+"网球拍"+"\t"+"¥320");
        System.out.println("请选择:1-->查看商品信息   2-->购买商品   3-->返回主界面");
        //String yy=MyUtil.getMessage();
        //return yy;

    }


}
package test;
//创建物品类
public class Goods {
    private String goodId;
    private String goodname;
    private double price;
    public Goods(){}
    Vip[] vips=new Vip[10];
    public Goods(String goodId,String goodname,double price){
        this.goodId=goodId;
        this.goodname=goodname;
        this.price=price;

    }
    public String getGoodId() {
        return goodId;
    }
    public void setGoodId(String goodId) {
        this.goodId = goodId;
    }
    public String getGoodname() {
        return goodname;
    }
    public void setGoodname(String goodname) {
        this.goodname = goodname;
    }
    public double getPrice() {
        return price;
    }
    public void setPrice(double price) {
        this.price = price;
    }

}
package test;
//创建Vip类
public class Vip {
    private String name;
    private String pass;
    private String tel;
    Goods[] gs=new Goods[10];
    public Vip(){}
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPass() {
        return pass;
    }
    public void setPass(String pass) {
        this.pass = pass;
    }
    public String getTel() {
        return tel;
    }
    public void setTel(String tel) {
        this.tel = tel;
    }


}
package test;
//创建开始类运行主文件
public class ShoppingStart {


    public static void main(String[] args){
        //初始化数据
        initData();
        showMenu();
    }
    public static void showMenu(){

        System.out.println("* * * * * * * **********");  
        System.out.println("       1.注册         ");  
        System.out.println("       2.登录         ");
        System.out.println("       3.退出           ");  
        System.out.println("* * * * * * * * * * * **");
        System.out.println("请选择,输入数字:"); 
        String choice=MyUtil.getMessage();
        if(choice.equals("1")){
            Register();
            showMenu();
        }
        else if(choice.equals("2")){
            Vip xx=Login(3);
            MyUtil.getList();
            Xiaofei(xx);
        }
        else if(choice.equals("3")){
            return;
        }
        else{
            System.out.println("输入有误");
        }

    }
    private static Vip Login(int n) {
        if(n>0){
            System.out.println("你还有"+n+"次机会!");
            System.out.println("请输入用户名:");
            String name=MyUtil.getMessage();
            System.out.println("请输入密码:");
            String pass=MyUtil.getMessage();
            Vip[] vips=SystemData.vips;
            int i=0;
            for(;i<vips.length;i++){
                try{
                if(name.equals(vips[i].getName())&&pass.equals(vips[i].getPass())){
                    System.out.println("登陆成功!"+vips[i].getName());
                    Vip ary=vips[i];
                    return ary;
                }}catch(NullPointerException e){}
            }
            if(i==SystemData.vips.length){
                n--;
                Login(n);
            }
        }
        return null;
    }
    public static String yanzheng(){
        System.out.println("请输入手机号:");
        String str=MyUtil.getMessage();
        if(str.length()!=11){
            System.out.println("你输入的号码长度不符");
            yanzheng();
        }
        for(int i=0;i<str.length();i++){
            if((str.charAt(i)<'0')||(str.charAt(i)>'9')){
                System.out.println("你输入的号码含有非数字");
                yanzheng();
            }
        }
        return str;
    }

    public static void Register(){
            System.out.println("请输入用户名:");
            String name=MyUtil.getMessage();
            System.out.println("请输入密码:");
            String pass=MyUtil.getMessage();
            String tel=yanzheng();
            Vip vip=new Vip();
            vip.setName(name);
            vip.setPass(pass);
            vip.setTel(tel);
            Vip[] vips=SystemData.vips;
            for(int i=0;i<vips.length;i++){
                if(vips[i]==null){
                    vips[i]=vip;
                    break;
                }
            }
        }
    public static void Xiaofei(Vip ssr){
        boolean flag=true;
        while(flag==true){
        String y=MyUtil.getMessage();
        switch(y){
        case "1":
            System.out.println("物品编号"+"\t"+"物品"+"\t"+"单价"+"\t"+"所购会员姓名");
            Goods[] gs=SystemData.gs;
            Goods ye=SystemData.arr;
            for(int i=0;i<gs.length;i++){
                 if((gs[i]!=null)&&(ye.vips[i].getName()!=null)){
                    System.out.print(gs[i].getGoodId()+"\t"+gs[i].getGoodname()+"\t"+
                            gs[i].getPrice()+"\t"+ye.vips[i].getName());
                }

            }
            MyUtil.getList();
            break;
        case "2":
            System.out.println("请输入物品编号:");
            String yy=MyUtil.getMessage();
            Goods pp=SystemData.arr;
            for(int t=0;t<pp.vips.length;t++){
                if(pp.vips[t]==null){
            pp.vips[t]=ssr;
                }
            }
            System.out.println("恭喜你,购买成功!");
            System.out.print("是否继续(y/n):");
            String zz=MyUtil.getMessage();
            if(zz.equals("y")){
                MyUtil.getList();
            }
            else if(zz.equals("n")){
                System.out.println("*************消费单***************");
                System.out.println("物品编号"+"\t"+"名称"+"\t"+"单价");
                Goods[] good=SystemData.gs;
                for(int i=0;i<good.length;i++){
                    if(yy.equals(good[i].getGoodId())){
                        System.out.println(yy+"\t"+good[i].getGoodname()+"\t"+good[i].getPrice());
                        break;
                    }

                }
            }
            else{
                System.out.println("输入有误");
            }
            break;
        case "3":
            showMenu();
            break;
        default:
            System.out.println("输入无效");



        }
        }
    }

    public static void initData() {
        Goods[] gs=SystemData.gs;//定义一个数组来接收
        gs[0]=new Goods("001","T恤",245);
        gs[1]=new Goods("002","网球鞋",570);
        gs[2]=new Goods("003","网球拍",320);

    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值