完成一个商品的购买

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的循环
	}
}



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值