完成一个商品的购买

来源:互联网 发布:将字符串转换为json 编辑:程序博客网 时间:2024/04/30 03:03
import java.util.Scanner;//导入一个外部的java类import java.util.Random;//操作随机数import java.util.Date;//对时间的操作/****/public class Shopping {public static void main(String [] args) {String [] username = new String[10];//定义一个存放10个用户名的数组变量String [] password = new String[10];//定义一个存放10个用户密码的数组变量int b = 0;//客户的个数//已存在的用户username[0] = "admin1"; password[0] = "1111"; b++; username[1] = "admin2"; password[1] = "2222"; b++;username[2] = "admin3"; password[2] = "3333"; b++;username[3] = "admin4"; password[3] = "4444"; b++;        String [] name = new String[10000]; //定义一个存放10000个客户姓名的数组变量     int [] number = new int[10000];//定义一个存放10000个客户编号的数组变量String [] birthday = new String[10000];//定义一个存放10000个客户出生日期的数组变量//String [] date = new String[10000];//定义一个存放10000个客户生日的数组变量int [] num = new int[10000];//定义一个存放10000个客户积分的数组变量int a = 0;//客户的个数        //已经存在的客户信息number[0] = 1001; name[0] = "小猫"; birthday[0] = "1992-07-10"; num[0] = 20000; a++;number[1] = 1002; name[1] = "小狗"; birthday[1] = "1992-06-17"; num[1] = 25000; a++;number[2] = 1003; name[2] = "大象"; birthday[2] = "1992-07-10"; num[2] = 30000; a++;number[3] = 1004; name[3] = "小狐狸"; birthday[3] = "1992-06-11"; num[3] = 10000; a++;number[4] = 1005; name[4] = "小马"; birthday[4] = "1992-06-13"; num[4] = 10000; a++;String [] Prize = new String[4];//定义一个存放5个奖品的数组Prize[0] = "没有人获得奖品"; Prize[1] = "13.50的黑人牙膏";Prize[2] = "3800.00的海尔冰箱"; Prize[3] = "5888.00的iphone5s";Random rand = new Random();N1:while(true) {//用于返回上一级//展示登录菜单    System.out.println("\t\t\t欢迎使用我行我素购物管理系统1.0版");    System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ");    System.out.println("\t\t\t1.登录系统");    System.out.println("\t\t\t2.更改管理员密码");    System.out.println("\t\t\t3.退出");            System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ");    //提示用户输入选项    System.out.print("请输入您的选择:");    Scanner input = new Scanner(System.in);N2:    while(true){//输入上面选项的循环        int choice1 = input.nextInt();        //判断用户输入选项是否正确        if(choice1 == 1) {/*登录系统*/                    /*用户输入登录,如果登录失败,继续重新登录,连续失败次数超过三次,退出系统*/                    int loginIndex = 0;N3:while(true) {    //登录系统要实现的功能:提示用户输入用户名和密码        System.out.println("请输入用户名:");    String user = input.next();    System.out.println("请输入密码:");    String pass = input.next();    //判断用户输入的用户名和密码是否存在且相等    /*整数判断可以用==;字符串是否相等用equals*/for(int i = 0;i < b;i++) {                            if(user.equals(username[i]) && pass.equals(password[i])) {    System.out.println("登录成功!");    break N3;        }                         }//for循环loginIndex ++;                        if(loginIndex > 2) {    System.out.println("输入次数超过三次;系统即将退出...");System.exit(1);}                        System.out.println("您输入的用户名和密码错误,您还有" + (3 - loginIndex) + "次机会重新输入");}//登录成功N4:while(true){                  System.out.println("\t\t\t欢迎使用我行我素购物管理系统");    System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *");    System.out.println("\t\t\t1.客户信息管理");    System.out.println("\t\t\t2.购物结算");    System.out.println("\t\t\t3.真情回馈");    System.out.println("\t\t\t4.返回上一级");                        System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *");    System.out.println("请输入您的选择:");                        N5:    while(true) {//对用户输入的选项的判断        int choice2 = input.nextInt();                            //根据用户的输入,作出相应的反应              if(choice2 == 1) {//客户信息管理N6:while(true) { int choice3;System.out.println("我行我素购物管理系统 > 客户信息管理");System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *");System.out.println("\t\t\t1.显示所有客户信息");System.out.println("\t\t\t2.添加客户信息");System.out.println("\t\t\t3.修改客户信息");System.out.println("\t\t\t4.查询客户信息");                                    System.out.println("\t\t\t5.返回上一级");                                    System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *");System.out.println("请输入您的选择:");                                    N7:    while(true) {//对输入选项的判断        choice3 = input.nextInt();        if(choice3 == 1) {//显示所有客户信息        System.out.println("客户编号\t\t客户姓名\t\t客户生日\t\t客户积分");    for(int j = 0 ;j < a;j++) {    System.out.println(number[j] + "\t\t" + name[j] + "\t\t" + birthday[j] + "\t\t" + num[j]);    }break N7;        } else if(choice3 == 2) {//添加客户信息    number[a] = 1001 + a;     System.out.println("欢迎添加客户!");    System.out.println("请输入新客户的名称(2-8个字符):");        name[a] = input.next();    System.out.println("请输入新客户的生日(格式:yyyy-mm-dd):");    birthday[a] = input.next();System.out.println("请输入新客户的积分:");num[a] = input.nextInt();System.out.println("添加成功!");a++;break N7;        } else if(choice3 == 3) {        //修改客户信息System.out.println("请输入您想要修改的客户编号:");while(true) {int No = input.nextInt();for(int i = 0;i < a;i++){if(No == number[i]){System.out.println("客户编号\t\t客户姓名\t\t客户生日\t\t客户积分");System.out.println(number[i] + "\t\t" + name[i] + "\t\t" + birthday[i] + "\t\t" + num[i]);System.out.println("请选择您要修改的内容:1.姓名   2,生日");System.out.println("请输入您的选择:");    while(true){int x = input.nextInt();if(x == 1){System.out.println("请输入新的客户名称:");String newname = input.next();name[i] = newname;System.out.println("修改成功!");break N7;} else if(x ==2){System.out.println("请输入新的客户生日:");String newbirthday = input.next();birthday[i] = newbirthday;System.out.println("修改成功!");break N7;} else{System.out.println("没有这个选项,请重新输入!");}}//while循环}}//for循环System.out.println("您输入的客户编号不对,请重新输入!");}//while循环        } else if(choice3 == 4) {            //查询客户信息System.out.println("请输入您要查询的客户编号:");while(true){    int No = input.nextInt();                                                for(int i = 0;i < a;i++){if(No == number[i]){System.out.println("客户编号\t\t客户姓名\t\t客户生日\t\t客户积分");System.out.println(number[i] + "\t\t" + name[i] + "\t\t" + birthday[i] + "\t\t" + num[i]);break N7;}}//for循环System.out.println("您输入的客户编号不存在,请重新输入!");}        } else if(choice3 == 5) {        //返回上一级break N5;        } else {    System.out.println("输入有误,请重新输入!");    }    }//N7循环if(choice3 != 5){                                        System.out.println("请输入任意键继续:");    String str = input.next();}        }//N6循环        } else if(choice2 == 2) {//购物结算    System.out.println("欢迎进入购物系统!");    System.out.println("请输入您的客户编号:");//提示:如果输入的客户编号不存在,重新输入,失败次数超过三次,系统即将退出String name1 = null;int times = 0;//存放输入的次数K1:while(true){                                    int y = 0;        int number1 = input.nextInt();K2:    while(true){    if(number1 == number[y]) {    name1 = name[y];    break K1;    }    y++;    if(y > a){times++;if(times > 2){System.out.println("您输入的次数超过三次,系统即将退出......");System.exit(1);} else {                        System.out.println("您输入的编号不存在,您还有" + (3 - times) + "次机会重新输入!");        break K2;}    }    }//K2的循环}//K1的循环                                int [] GoodsNum = new int[100];//定义一个存放100个商品编号的数组String [] GoodsName = new String[100];//定义一个存放100个商品名称的数组double [] GoodsPrice = new double[100];//定义一个存放100个商品价格的数组int g = 0;//已有的商品个数//已有的商品GoodsNum[0] = 1; GoodsName[0] = "云南白药"; GoodsPrice[0] = 18.00; g++;GoodsNum[1] = 2; GoodsName[1] = "小米手机"; GoodsPrice[1]= 1998.00; g++;GoodsNum[2] = 3; GoodsName[2] = "小黑"; GoodsPrice[2]= 4998.00; g++;GoodsNum[3] = 4; GoodsName[3] = "拖鞋"; GoodsPrice[3] = 25.80; g++;GoodsNum[4] = 5; GoodsName[4] = "酱油"; GoodsPrice[4] = 5.60; g++;GoodsNum[5] = 6; GoodsName[5] = "汽车模型"; GoodsPrice[5] = 350.00; g++;GoodsNum[6] = 7; GoodsName[6] = "坦克模型"; GoodsPrice[6] = 400.00; g++;GoodsNum[7] = 8; GoodsName[7] = "玩具枪"; GoodsPrice[7] = 99.80; g++;                                System.out.println("商城现有商品如下:");                                System.out.println("商品编号\t\t商品名称\t\t商品价格");for(int s = 0;s < g;s++){System.out.println(GoodsNum[s] + "\t\t\t" + GoodsName[s] + "\t\t" + "¥" + GoodsPrice[s]);}                                int [] choiceBH = new int[100];//用来存放第n次购买商品的商品编号,最多可以购买100次int [] choiceSL = new int[100];//用来存放第n次购买商品的商品数量,最多可以购买100次                                double [] ShopSum = new double[100];//用来存放第n次购买商品的商品总价,最多可以购买100次String [] ShopName = new String[100];//用来存放第n次购买商品的商品名称,最多可以购买100次double [] ShopPrice = new double[100];//用来存放第n次购买商品的商品单价,最多可以购买100次int n = 0;//用来存放购买的次数double sum = 0;//用来存放最终的应付款while(true) {                                    System.out.print("请输入您要购买的产品编号:");            choiceBH[n] = input.nextInt();            System.out.print("请输入您要购买的产品数量:");            choiceSL[n] = input.nextInt();for(int m = 0;m < g;m++){if(choiceBH[n] == GoodsNum[m]){ShopPrice[n] = GoodsPrice[m];ShopName[n] = GoodsName[m];ShopSum[n] = choiceSL[n] * GoodsPrice[m];break;}}    System.out.println("是否继续购买?(输入y继续购买)");    String str3 = input.next();if((str3).equals("y")) {n++;continue;} else {break;}}                System.out.println("尊敬的用户:" + name1);System.out.println("您购买的商品如下:");System.out.println("产品名称\t\t产品单价\t\t购买数量\t\t产品总价格");for(int c = 0;c <= n;c++) {System.out.println(ShopName[c] + "\t\t" + ShopPrice[c] + "\t\t\t" + choiceSL[c] + "\t\t\t" + ShopSum[c]);sum = sum + ShopSum[c];}                System.out.println("您购买的产品总价为:¥" + sum);        System.out.println("按您当前的积分,您的折扣是:0.85");                System.out.println("您的应付款为:¥" + (float)(0.85 * sum));System.out.print("请付款:");            while(true) {//付款成功的循环                                    int money = input.nextInt();                                    if(money < sum){            System.out.println("付款错误,请重新付款!");            } else {            System.out.println("付款成功!");            System.out.println("找零:¥" + (float)(money - b));            System.out.println("欢迎下次光临!");    break;            }    }//付款的循环System.out.println("请按任意键继续:");String str = input.next();    break N5;        } else if(choice2 == 3) {//真情回馈Z1:    while(true) {int choice4;System.out.println("我行我素购物管理系统 > 真情回馈");System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ");System.out.println("\t\t\t1.幸运大放送");System.out.println("\t\t\t2.幸运抽奖");System.out.println("\t\t\t3.生日问候");System.out.println("\t\t\t4.返回上一级");System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ");System.out.println("请输入您的选择:");Z2:while(true){choice4 = input.nextInt();if(choice4 == 1){                                            int randNum0 = rand.nextInt(3);//随机产生获得的奖品System.out.println("积分最高的客户是:");                                            System.out.println("客户编号\t\t客户姓名\t\t客户生日\t\t客户积分");int Bestnum = 0;//存放最高积分for(int i = 0;i < a;i++){if(Bestnum < num[i]){Bestnum = num[i];} }for(int i = 0;i < a;i++){if(Bestnum == num[i]) {System.out.println(number[i] + "\t\t" + name[i] + "\t\t" + birthday[i] + "\t\t" + num[i]);while(true) {int randNum1 = rand.nextInt(3);if(randNum1 != 0){System.out.println("恭喜以上用户,获得一个价值¥" + Prize[randNum0]);break Z2;}}}}} else if(choice4 == 2) {//幸运抽奖                                            int randNum = rand.nextInt(3);//随机产生获得的奖品                                    int randnum = rand.nextInt(a - 1);//随机产生获奖客户的编if(randNum == 0){System.out.println("抱歉:" + Prize[randNum]);} else {System.out.println("幸运客户是:");System.out.println("客户编号\t\t客户姓名\t\t客户生日\t\t客户积分");System.out.println(number[randnum] + "\t\t" + name[randnum] + "\t\t" + birthday[randnum] + "\t\t" + num[randnum]);System.out.println("恭喜以上用户,获得一个价值¥" + Prize[randNum]);}break Z2;} else if(choice4 == 3) {//生日问候Date date = new Date();System.out.println(date);break;} else if(choice4 == 4) {//返回上一级break N5;} else{System.out.println("输入有误,请重新输入!");}}//2循环if(choice4 != 4){System.out.println("请按任意键继续!");String str = input.next();}}//1循环        } else if(choice2 == 4) {//返回上一级break N2;        } else{//提示输入错误,重新输入System.out.println("输入错误,请重新输入");break;        }}//N5循环    }//输入选项的循环        } else if(choice1 == 2) {//更改管理员密码System.out.println("请输入用户名:");                    int loginIndex = 0;                    int j = 0;while(true) {String use = input.next();System.out.println("请输入密码:");String pass = input.next();for(int i = 0;i < a;i++){if(use.equals(username[i]) && pass.equals(password[i])) {while(true){System.out.println("请输入新的密码:");int newpass1 = input.nextInt();System.out.println("请再次输入新的密码:");int newpass2 = input.nextInt();if(newpass1 == newpass2){System.out.println("恭喜您,密码修改成功!");System.out.println("请输入任意键继续:");String s = input.next();break N2;} else{j++;System.out.println("您两次输入的新密码不一样,您还有" + (3 - j) + "次机会重新输入");if(j > 2){System.out.println("您的机会已经用完,修改密码失败");break N2;}}}//while循环}//if}//for循环loginIndex ++;if(loginIndex > 2) {System.out.println("输入次数超过三次;更改密码失败");break N2;}System.out.println("您输入的用户名和密码错误,您还有" + (3 - loginIndex) + "次机会重新输入");}        } else if(choice1 == 3) {/*退出系统*/    System.out.println("系统即将退出....");System.exit(1);        } else {/*提示用户输入错误,请重新输入*/            System.out.println("输入有误,请重新输入:");        }        }//输入选项的循环        }//N1的循环}}


                                             
0 0
原创粉丝点击