制作奖客富翁系统
要求:按要求先注册再登录最后进行抽奖,登录不成功可有三次机会
特点:do while循环、for循环、if、switch case语句和数组相结合
思路:1.先实现菜单输出功能
2.在实现菜单循环功能
3.依次实现注册、登录、抽奖功能,并进行判断是否注册、登录
import java.util.Scanner;
public class Practice5 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String answer;// 定义变量是否继续
String name = null;// 用户名 最好username
String passwd = null;// 密码 密码的英文标准写法passwd
int suiji = 0;// 生成的随机数
boolean flag = false;// 判断卡号是否是幸运数字
boolean isRegister = false;// 是否注册成功
boolean isLogin = false;// 是否登录的flag
do {
System.out.println("*******欢迎进入奖客富翁系统********");
System.out.println(" 1.注册");
System.out.println(" 2.登录");
System.out.println(" 3.抽奖");
System.out.println("*****************************");
Scanner input = new Scanner(System.in);
System.out.print("请选择菜单");
int num = input.nextInt();
switch (num) {
case 1:
System.out.println("奖客富翁系统>注册");
System.out.println("请填写个人注册信息:");
System.out.print("用户名:");
name = input.next();
System.out.print("密码:");
passwd = input.next();
isRegister = true;//注册成功,flag为true
// 生成随机数,即卡号
suiji = (int) (Math.random() * 8999) + 1000;
System.out.println("注册成功,请记好您的会员卡号");
System.out.println("用户名\t密码\t卡号");
System.out.println(name + "\t" + passwd + "\t" + suiji);
break;
case 2:
System.out.println("奖客富翁系统>登录");
if (isRegister==true) {
for (int i = 2; i > 0; i--) {
System.out.print("请输入用户名:");
name = input.next();
System.out.print("请输入密码:");
passwd = input.next();
if ("yang".equals(name) && "123456".equals(passwd)) {
System.out.println("欢迎您");
isLogin = true;// 登录成功,flag设为true
break;
} else {
System.out.println("您还有" + i + "次机会");
}
if (i == 0) {
System.out.println("您的次数已用完");
}
}
}else{
System.out.println("请先注册");
}
break;
case 3:
System.out.println("奖客富翁系统>抽奖");
// 这里加个判断 如果那个是否登录成功为false,不能抽奖
if (isLogin == true) {
System.out.println("请输入卡号");
suiji = input.nextInt();
int[] number = new int[5];
System.out.print("本日的幸运数字为:");
for (int i = 0; i < number.length; i++) {
number[i] = (int) (Math.random() * 8999) + 1000;
if (suiji == number[i]) {
flag = true;
}
System.out.print(number[i] + " ");
}
System.out.println();
if (flag) {
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();
if ("n".equals(answer)) {// 不继续结束系统
System.out.println("系统结束,谢谢使用");
break;
}
} while ("y".equals(answer));
}
}
效果图:
生成四位随机数:int cardNumber=(int)(Math.random()*8999)+1000;