任务描述
本次任务要求为某商场开发一套幸运抽奖系统,客户必须首先注册成为该商场会员,会员登录成功后,就可以参加抽奖活动了。
注册
用户选择“注册”菜单,进入注册界面。输入用户名和密码后,系统提示注册成功,并给出会员卡号。
登录
注册成功后,用户选择“登录”菜单,进入登录界面。输入注册时的用户名和密码。登录成功,系统提示欢迎信息。如果用户和密码输入错误,提示用户继续输入,最多有3次机会。
抽奖
登录成功后,用户选择“抽奖”菜单,进入幸运抽奖界面。输入会员卡号,系统生成5个4位随机数作为幸运数字。如果会员卡号是其中之一,则成为本日幸运会员。
源代码
package cn
.jbit
.dlc1
;
import java
.util
.Scanner
;
public class LuckyNumber5 {
public static void main(String
[] args
) {
String answer
= "y";
String userName
= "";
String password
= "";
int cardNumber
= 0;
boolean isRegister
= false;
boolean isLogin
= false;
int max
= 9999;
int min
= 1000;
Scanner input
= new Scanner(System
.in
);
do {
System
.out
.println("*****欢迎进入奖客富翁系统*****");
System
.out
.println("\t1.注册");
System
.out
.println("\t2.登录");
System
.out
.println("\t3.抽奖");
System
.out
.println("***************************");
System
.out
.print("请选择菜单:");
int choice
= input
.nextInt();
switch (choice
) {
case 1:
System
.out
.println("[奖客富翁系统 > 注册]");
System
.out
.println("请填写个人注册信息:");
System
.out
.print("用户名:");
userName
= input
.next();
System
.out
.print("密码:");
password
= input
.next();
cardNumber
= (int)(Math
.random()*(max
-min
))+min
;
System
.out
.println("\n注册成功,请记好您的会员卡号");
System
.out
.println("用户名\t密码\t会员卡号");
System
.out
.println(userName
+ "\t" + password
+ "\t" + cardNumber
);
isRegister
= true;
break;
case 2:
System
.out
.println("[奖客富翁系统 > 登录]");
if (isRegister
) {
for (int i
= 1; i
<= 3; i
++) {
System
.out
.print("请输入用户名:");
String inputName
= input
.next();
System
.out
.print("请输入密码:");
String inputPassword
= input
.next();
if (userName
.equals(inputName
) && password
.equals(inputPassword
)) {
System
.out
.println("\n欢迎您:" + userName
);
isLogin
= true;
break;
} else if (i
< 3) {
System
.out
.println("用户名或密码错误,还有" + (3 - i
) + "次机会!");
} else {
System
.out
.println("您3次均输入错误!");
}
}
} else {
System
.out
.println("请先注册,再登录!");
}
break;
case 3:
System
.out
.println("[奖客富翁系统 > 抽奖]");
if (!isLogin
) {
System
.out
.println("请先登录,再抽奖!");
System
.out
.println("继续吗?(y/n)");
answer
= input
.next();
} else {
int[] luckynums
= new int[5];
for(int i
= 0; i
< luckynums
.length
; i
++){
luckynums
[i
] = (int)(Math
.random()*(max
-min
))+min
;
}
System
.out
.print("请输入您的卡号:");
int yourcard
= input
.nextInt();
int i
;
System
.out
.print("\n本日的幸运数字为:");
for (i
= 0; i
< luckynums
.length
; i
++) {
System
.out
.print(luckynums
[i
] + " ");
}
for (i
= 0; i
< luckynums
.length
; i
++) {
if (luckynums
[i
] == yourcard
) {
System
.out
.println("\n恭喜!您是本日的幸运会员!");
break;
}
}
if (i
== luckynums
.length
) {
System
.out
.println("\n抱歉!您不是本日的幸运会员!");
}
}
break;
default:
System
.out
.println("[您的输入有误!]");
break;
}
System
.out
.print("继续吗?(y/n):");
answer
= input
.next();
System
.out
.println("");
} while ("y".equals(answer
));
if ("n".equals(answer
)) {
System
.out
.println("系统退出,谢谢使用!");
}
}
}
次程序只是一个基本的小的架构,还有许多可以完善的地方。希望对您有一定的帮助