java--幸运抽奖

/**
 * 作者:殒珞
 * 日期:2012-4-5  
 * 功能:幸运抽奖
 */


import java.util.Scanner;
public class LuckyDraw {

		public static void main(String[] args) {

			String answer = "";  //是否继续
			String name = "";    //客户名
			int cardNumber= 0;   //客户卡号
			int pwd ;             //密码
			String newname = "";   //
			int newpwd;           //登录再次确认的密码
			int max = 9999;
			int min = 1000;
			int x = 0;            //数组下标
			

			String names[] = new String[4];// 四位客户的名字
			int codes[] = new int[4];      // 四位客户的密码
			int cards[] = new int[4];      // 四位客户的卡号
			boolean isEnlor = false;       // 判定未注册
			boolean isLand = false;        // 判定未登陆

			do {
				Scanner input = new Scanner(System.in);
				System.out.println("****欢迎进入殒珞幸运抽奖系统*****");
				System.out.println("\t1.注册");
				System.out.println("\t2.登陆");
				System.out.println("\t3.抽奖");
				System.out.println("*****************************");
				System.out.println("请选择菜单:");

				if (!input.hasNextInt()) {
					System.out.println("请输入数字!");
					System.out.println("继续吗?(y/n):");

					/**
					 * 小知识, 新new一个为新的answer给值,这样hasNext
					 * 才不会将上一次是的值直接赋给下一次要输入的值
					 */
					Scanner answerinput = new Scanner(System.in);
					 answer = answerinput.next(); // 选择是否继续循环
					continue;
				}
				 // 判定输入格式是否正确
				int num = input.nextInt();
				switch (num) {
				/**注册*/
				case 1:

					System.out.println("【幸运抽奖系统>  注册】");
					System.out.println("请填写个人注册信息:");
					System.out.println("用户名:");
					name = input.next();
					System.out.println("密码:");
					if (input.hasNextInt() == true) { // 判定输入格式是否正确

						pwd = input.nextInt();

						cardNumber = (int) (Math.random() * (max - min)) + min;
						System.out.println("\n注册成功,请记好您的会员号");
						System.out.println("用户名\t\t密码\t\t会员卡号");
						System.out.println(name + "\t\t" + pwd + "\t\t"
								+ cardNumber);

						while (x < 4) {
							names[x] = name;
							codes[x] = pwd;
							cards[x] = cardNumber;
							break;
						}
						x++;

						isEnlor = true;
					} else {
						System.out.println("请正确输入!");
					}

					break;
                                         /**登录*/
				case 2:
					if (isEnlor == true) {//验证是否注册

						while(true) {
							System.out.println("【幸运抽奖系统>  登陆】");
							System.out.println("请输入用户名:");
							newname = input.next();
							System.out.println("请输入密码:");
							newpwd = input.nextInt();
							boolean oo = false;   //
							for (x = 0; x < 4; x++) {
								if (newname.equals(names[x]) && newpwd == codes[x]) {
									oo = true;
									name = names[x];
									cardNumber = cards[x];
									break;
								}

							}

							if (oo) { // 判定用户名和密码是否正确
								System.out.println("欢迎您:" + name);
								isLand = true;   
								break;
							} else {
								System.out.println("输入错误!请重新输入!");
								System.out.println("是否继续登录(y/n):");
								String wer = input.next();
								if (!"y".equals(wer)) {
									break;
								}
							}
						}
					} else {
						System.out.println("抱歉!您尚未注册!");
					}
					break;
				case 3:
					if (isLand == true) {//验证是否登录

						System.out.println("【幸运抽奖系统>  抽奖】");
						System.out.println("请输入卡号:");
						int cord = input.nextInt();

						if (cord != cardNumber) {
							System.out.println("输入错误!");
							break;

						}
						/**抽奖*/

						System.out.print("\n本日的幸运数字为:");
						int Luckno[] = new int[5];
						for (int i = 0; i < Luckno.length; i++) {
							Luckno[i] = cardNumber = (int) (Math.random() * (max - min))
									+ min;
							System.out.print(Luckno[i] + "   ");
						}
						boolean con = false;     // 默认未中奖
						for (int i = 0; i < Luckno.length; i++) {

							if (cord == Luckno[i]) { // 判定是否中奖
								con = true;
							}
						}
						if (con) {
							System.out.println("恭喜!您是本日的幸运会员!");
						} else {
							System.out.println("抱歉!您不是本日的幸运会员!");

						}

					} else {
						System.out.println("抱歉!您未登陆!");
					}

					break;

				default:
					System.out.println("输入错误,请重新输入:");
					break;
				}
				

				System.out.println("继续吗?(y/n):");

				answer = input.next(); // 选择是否继续循环

			} while ("y".equals(answer));

			System.out.println("系统退出,谢谢使用!");

		}

	}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值