您的位置:首页 > 数据库

抽奖系统 无连接数据库 纯java代码实现

2018-03-30 08:37 489 查看
模拟一个在终端登陆注册的页面

public class Cjtest {
public static void main(String[] args) {
String isGoOn = "n";  //循环的判断条件是否继续
do {
System.out.println("*********幸运52********");
System.out.println("1.注册");
System.out.println("2.登录");
System.out.println("3.幸运大抽奖");
System.out.println("***********************");
System.out.println("请选择菜单");
//接收用户选择的菜单
Scanner scanner = new  Scanner(System.in);
String meunNum =  scanner.nextLine();
//根据用户的选择 来执行对应功能
meunChoose(meunNum);
System.out.println("是否继续---输入y/n");
//接收判断循环条件
isGoOn = scanner.nextLine();
} while (isGoOn.equals("y"));
//循环结束提示
System.out.println("欢迎下次使用");
}
//选择对应的方法
public static void meunChoose(String meunNum) {
switch (meunNum) {
case "1":
System.out.println("抽奖系统----注册");
//调用 注册的方法
Register.register();
case "2":
System.out.println("抽奖系统----登录");
//调用登录的方法
User.isLogin=Login.login();
break;
case "3":
System.out.println("抽奖系统----幸运抽奖");
LuckDraw.lukcDraw();
break;
default:
System.out.println("输入错误请重新输入");
break;
}

}
}


不连接数据库所以模拟一个注册时用户信息所存放的位置

public class User {
//用户名
public static String   userName = "";
//密码
public  static  String  passWord = "";
//幸运数字
public  static  int   luckNumber = 0;
//用户的登录状态
public  static  boolean  isLogin   = false;

}


注册功能实现

public class Register {
public static void register() {
System.out.println("请注册用户的个人信息");
Scanner scanner = new Scanner(System.in);
System.out.println("用户名");
//接收用户名 放在用户信息中
User.userName  = scanner.nextLine();
System.out.println("密码");
//接收到用户信息中
User.passWord = scanner.nextLine();
//随机一个四位的1000-2000的数 保存到用户中。
User.luckNumber = (int)(Math.random()*(2000-1000+1)+1000);
//显示用户的注册信息
System.out.println("用户名"+User.userName);
System.out.println("密码"+User.passWord);
System.out.println("幸运数字"+User.luckNumber);
//scanner.close();标记:注意scanner 只能关闭一次  关闭后在本程序执行中  在创建也不能接收键盘信息了
}

}


登陆

public class Login {
static int number = 0;//控制循环输入密码三次
public static boolean login() {
System.out.println("请输入用户名:");
//接收用户名
Scanner scanner =  new Scanner(System.in);
String  userName  = scanner.nextLine();
System.out.println("请输出账号:");
String passWord = scanner.nextLine();
//判断用户名密码是否匹配
if(userName.equals(User.userName)&&passWord.equals(User.passWord)) {
//登陆成功
System.out.println("登陆成功");
//返回一个登录状态
return true;
}else {
//登录失败  有重新登录三次机会。
number++;
System.out.println("你还有"+(3-number)+"次机会");
if (number !=3) {
//还有登陆的机会
login();
}else {
//三次机会已用   登录失败
System.out.println("三次机会已用完  登录失败");
}
//写返回值的时候要保证每一个分支都要有返回值
return false;
}
}
}


抽奖系统逻辑

public class LuckDraw {
//记录输入卡号注册
static int number = 0;
public static void lukcDraw() {
//是否注册  没注册不能抽
if(User.userName.length() ==0 ) {
//没注册 下面都不执行
System.out.println("你没注册");
return;
}
//是否登录  没登录不让抽
if(!User.isLogin) {
System.out.println("你没登录");
return;
}
//如果卡号没输对  也不让抽奖  直接return
if (!isLuckNumber()) {
System.out.println("卡号不对!不能登录");
return;
}
//真的  可以抽奖了
//定义一个 变量保存中奖的结果
boolean isLucky = false;
//随机五个数 打印出结果 并判断是否匹配幸运号码
//定义一个变量 来保存累加的字符串
String s = "本次幸运的数";
for (int i = 0; i < 5; i++) {
int num  = (int) (Math.random() * (2000-1000+1) + 1000);
//拼接要打印的字符串
if(i<5) {
s = s + num+",";
}else {
s = s+num;
}
//判断是否中奖
if(User.luckNumber==num);
//中奖
isLucky = true;
}
//打印幸运数字
System.out.println(s);
if (isLucky) {
System.out.println("你中奖了");
}else {
System.out.println("你没中奖");
}
}
public static boolean isLuckNumber() {  //判断卡号是个输入正确
//抽奖
System.out.println("请输入卡号");
Scanner scanner = new Scanner(System.in);
int luckNumber = scanner.nextInt();
//判断用户输入的卡号是不是  这个用户之前随机出来的那个数
if (luckNumber==User.luckNumber) {
System.out.println("输入正确抽奖马上运行");
return true;
//卡号相同可以抽奖
}else {
//卡号不相同 重新输入三次机会
number++;
if (number!=3) {
isLuckNumber();
}else {
System.out.println("三次机会已用尽");
}
return false;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: