/**
* 作者:殒珞
* 日期: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("系统退出,谢谢使用!");
}
}