完成一个商品的购买
来源:互联网 发布:将字符串转换为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