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的循环 } }
完成一个商品的购买
最新推荐文章于 2022-08-01 14:34:38 发布