java小项目——抽奖系统
因为有几天没学新的东西了,所以我就把我学校的大作业拿了出来,就当是给有帮助的人一个参考吧!(虽然网上这些也挺多的,但是还是打算把它写出来了),有需要的抓紧收藏起来哦!!!
模拟注册登录幸运抽奖全过程
2.登陆
3.抽奖
2.选择菜单编号,输出菜单信息
3.如果编号选择错误,输出“您的输入有误!”
2.如果用户选择继续,则可以继续选择菜单,否则程序结束,退出系统
需求说明
2.注册成功,显示注册信息并修改注册标识为true
2.如果用户名和密码输入错误,提示用户继续输入,最多有3次输入机会
2.输入会员卡号,系统生成5个4位随机数作为幸运数字
3.如果会员卡号是其中之一,则成为本日幸运会员;否则不是幸运会员
说明:
在阶段5 抽奖的时候如果没有先进行登陆便不能进行抽奖
源代码:
* 幸运抽奖
* @author xxmeng
*/
public class LuckyTwo {
public static void main(String [] args) {
String input;
int temp=1,countx=0,county=0; //计数器
//注册的用户名,注册的密码,确认密码,登陆密码,会员号,幸运数
String username1=null,userpwd1=null,reuserpwd,username2=null,userpwd2,ID=null;
//数组的下标不可以超过10个,也就是用户名注册的数目不可以超过10个
String[][] userlist=new String[10][3]; //存储用户名,密码,会员号
Scanner inputScanner = new Scanner(System.in); //从键盘上进行输入
while(temp==1) { //循环系统
int temp1=1,flag=0; //计数器
System.out.println("******************欢迎进入xxmeng系统*******************");
System.out.println(" 1.注册" ) ;
System.out.println(" 2.登录" ) ;
System.out.println(" 3.抽奖" ) ;
System.out.println("***********************************************************") ;
System.out.println("请选择菜单号") ;
input=inputScanner.next();
if(input.equals("1") || input.equals("2") || input.equals("3")) {
switch(input) {
case "1": //注册
int flag1=1;
System.out.println("xxmeng系统>注册");
System.out.println("请填写个人注册信息");
do {//验证用户是否存在
System.out.print("用户名: ");
username1 = inputScanner.next();
int i=0;
for(i=0;i<10;i++) {
if(username1.equals(userlist[i][0])) {
System.out.println("用户已经存在");
i=0;
break;
}
}
if(i!=0) {
flag1=0;
}
}while(flag1==1);
while(true) {
System.out.print("密码 :");
userpwd1=inputScanner.next();
System.out.print("请确认密码 :");
reuserpwd = inputScanner.next();
//如果输入的密码和当初设定的密码相同
if(userpwd1.equals(reuserpwd)) {
System.out.println(" 注册成功, 请记住你的会员卡号 ");
System.out.println(" 用户名 " + '\t' + " 密码 " + '\t' + " 会员卡号 ");
//进行四次循环每次随机抽取一次幸运号,一个抽取四次 且抽奖的大小在1~9之间
for(int i=0;i<4;i++) {
int a = (int )(1 + Math.random() *(9));
ID+=String.valueOf(a);
}
/*
* 存储用户的信息
*/
userlist[countx][county]=username1;//存储用户名
System.out.print((userlist[countx][county]) + '\t');
userlist[countx][++county]=userpwd1;//存储密码
System.out.print((userlist[countx][county]) + '\t');
userlist[countx][++county]=ID.substring(4); //存储会员号
System.out.print((userlist[countx][county]));
ID=null;
System.out.println();
county=0;
countx++;
System.out.println("是否继续(y/n)");
char anserString = inputScanner.next().charAt(0);
//如果不继续输入了
if(anserString =='n') {
temp=0;
break;
}else {
break;
}
}else {
System.out.println("两次密码不一样,请重新输入密码 ");//回头再次修改
continue;
}
}
//否则退出
break;
/*
*2. 登录
*/
case "2" :
System.out.println(" xxmeng系统>登录 ");
System.out.println(" 请输入用户名 : ");
username2 = inputScanner.next();
for(int i=0;i<10;i++) {
flag++;
//判断是否存在此用户
if(username2.equals(userlist[i][0])) {
while(temp1<4) {
System.out.println("请输入密码 : ");
userpwd2=inputScanner.next();
//判断登录密码是否正确
if(userpwd2.equals(userlist[i][1])) {
System.out.println("欢迎您 " + userlist[i][0]);
ID=userlist[i][2];
temp1=4;
}else {
System.out.println("密码错误"); //超过三次直接退出系统
temp1++;
if(temp1==4) {
temp=0;
i=11;
}
continue;
}
}
}
}
if(temp1==4) {
break;
}
if(flag==4) {
System.out.println("不存在此用户");
}
System.out.print("是否继续(y/n)");
char anserString = inputScanner.next().charAt(0);
if(anserString =='y') {
continue;
}
if(anserString =='n') {
temp=0;
}
break;
/*
* *
* 抽奖
*/
case "3" :
if(ID==null) {
System.out.println("请先登录 ");
continue;
}
System.out.println("xxmeng系统>抽奖");
System.out.println("您的卡号为 : " + ID );
System.out.print("本日幸运数字为 : " );
String lucknums[] = new String[5];
String lucknumber = null;
for(int i=0;i<lucknums.length;i++) {
for(int j=0;j<4;j++) { //随机生成4个随机数字
int a=(int )(1 + Math.random() *(9));
lucknumber +=String.valueOf(a); //输入的那个数字把它转化成数字字符串
}
lucknums[i] = lucknumber.substring(4);
lucknumber=null;
System.out.println(lucknums[i] + '\t' );
}
System.out.println();
for(int i=0;i<lucknums.length;i++) {
if(lucknums[i].equals(ID)) {
System.out.println(" 恭喜,您是本日的幸运会员 ");
}
}
System.out.println(" 抱歉!您不是本日的幸运会员 ");
System.out.println("是否继续(y/n)");
char anserString1 =inputScanner.next().charAt(0);
if(anserString1 == 'n') {
temp=0;
}
break;
default:
System.out.println(" 对不起!您的输入有误 ");
continue;
}
}else {
System.out.println(" 请输入正确的序号 ");
}}
inputScanner.close();
System.out.println(" 退出系统,谢谢使用!");
}
}
```
******************欢迎进入奖客富翁系统*******************
1.注册
2.登录
3.抽奖
***********************************************************
请选择菜单号
1
奖客富翁系统>注册
请填写个人注册信息
用户名: xxmeng
密码 :123
请确认密码 :123
注册成功, 请记住你的会员卡号
用户名 密码 会员卡号
xxmeng 123 8944
是否继续(y/n)
y
******************欢迎进入奖客富翁系统*******************
1.注册
2.登录
3.抽奖
***********************************************************
请选择菜单号
2
奖客富翁系统>登录
请输入用户名 :
xxmeng
请输入密码 :
123
欢迎您 xxmeng
******************欢迎进入奖客富翁系统*******************
1.注册
2.登录
3.抽奖
***********************************************************
请选择菜单号
3
奖客富翁系统>抽奖
您的卡号为 : 8944
本日幸运数字为 : 7845
6719
4573
4466
7239
是否继续(y/n)
n
退出系统,谢谢使用!
java小项目——抽奖系统的更多相关文章
- Java学习笔记三十:Java小项目之租车系统
Java小项目之租车系统 一:项目背景介绍: 根据所学知识,编写一个控制台版的“呱呱租车系统” 功能: 1.展示所有可租车辆: 2.选择车型.租车量: 3.展示租车清单,包含:总金额.总载货量以及其车 ...
- Java小项目--坦克大战(version1.0)
Java小项目--坦克大战<TankWar1.0> 这个小项目主要是练习j2se的基础内容和面向对象的思想.项目实现了基本的简单功能,我方一辆坦克,用上下左右键控制移动方向,按F键为发射炮 ...
- Java小项目之:教你做个聊天系统!
Java小项目之:聊天系统 今天给大家带来的java练手小项目是一个简单的聊天室,界面简单,操作不难. 分为注册系统,登录系统和聊天系统三部分,很适合java小白练手. 完整的源码和素材请关注并私信我 ...
- Java小项目之:五子棋,你下棋下得过电脑吗?
Java小项目之:五子棋,你下棋下得过电脑吗? Java五子棋功能要求: 1.创建窗口和设计一个棋盘界面 2.实现鼠标点击,棋子出现,黑白棋轮流下 3.能够判断五子相连输赢 4.添加重新开始,悔棋,退 ...
- java小项目之:植物大战僵尸,这个僵尸有点冷!内附素材源码
Java小项目之:植物大战僵尸! <植物大战僵尸>是由PopCap Games开发的一款益智策略类单机游戏,于2009年5月5日发售,这款游戏可谓是无人不知无人不晓. 在我身边,上到40岁 ...
- java小项目之:抽奖系统!java初学者必备(内附源码)
[Java]Java摇奖源码,Java抽奖源码,Java随机抽奖源码 任务描述 本次任务要求为某商场开发一套幸运抽奖系统,客户必须首先注册成为该商场会员,会员登录成功后,就可以参加抽奖活动了.注册 用 ...
- java小项目之:扫雷,这游戏没有你想的那么简单!
扫雷 我之前分享的小项目和小游戏,电影购票.坦克大战.捕鱼达人.贪吃蛇等,虽然已经是耳熟能详人尽皆知的项目和游戏,但是保不齐真的有人没接触过. 今天分享的这个项目,我不相信没人接触过(仅限80后-00 ...
- Java小项目迷你图书管理系统
package 迷你图书管理系统; import java.util.Scanner; public class BookMgr { public static void main(String[] ...
- java小项目之:象棋,羡慕你们有对象的!
象棋,是我国传统棋类益智游戏,在中国有着悠久的历史,属于二人对抗性游戏的一种,由于用具简单,趣味性强,成为流行极为广泛的棋艺活动.中国象棋是中国棋文化也是中华民族的文化瑰宝. 象棋还有很多口诀,这是最 ...
随机推荐
- Spring MVC基于注解@Controller和@RequestMapping开发的一个例子
1.创建web项目 2.在springmvc的配置文件中指定注解驱动,配置扫描器 在 Spring MVC 中使用扫描机制找到应用中所有基于注解的控制器类,所以,为了让控制器类被 Spring MVC ...
- javascript中日期的最简单格式化
// 假设要转换的日期数据来源是date(一个timestamp) let date = Date.now() // 1574141546000 let strDate = (new Date(dat ...
- [ES6系列-05]字符串相关操作更方便
[原创] 码路工人 Coder-Power 大家好,这里是码路工人有力量,我是码路工人,你们是力量. github-pages 博客园cnblogs 今天的内容是,关于 ES6 JavaScript ...
- 我的Android知识结构图——20200507停止更新,后续通过标签或分类继续完善结构图
*持续更新中.调整中(带链接的是已经总结发布的,未带链接是待发布的) *个别知识点在多个分类中都是比较重要部分,为了分类完整性 可能多出都列出了 *每一篇都是认真总结并写出来的,若哪里有问题欢迎指正 ...
- 《腾讯网UED体验设计之旅》读后感
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- Java实现蓝桥杯VIP算法训练 奇变的字符串
试题 算法训练 奇变的字符串 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 将一个字符串的奇数位(首位为第0位)取出,将其顺序弄反,再放回原字符串的原位置上. 如字符串" ...
- 第五届蓝桥杯C++B组国(决)赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.年龄巧合 小明和他的表弟一起去看电影,有人问他们的年龄.小明说:今年是我们的幸运年啊.我出生年份的四位数字加起来刚好是我的年龄.表弟的 ...
- java实现第六届蓝桥杯立方尾不变
立方尾不变 立方尾不变 有些数字的立方的末尾正好是该数字本身. 比如:1,4,5,6,9,24,25,- 请你计算一下,在10000以内的数字中(指该数字,并非它立方后的数值),符合这个特征的正整数一 ...
- PAT 说反话
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串.字符串由若干单词和若干空格组成,其中单词是由英文字母(大小 ...
- (十)HTTP.sys远程代码执行
01 漏洞描述 上篇文章介绍了Host头攻击,今天我们讲一讲HTTP.sys远程代码执行漏洞. HTTP.sys是Microsoft Windows处理HTTP请求的内核驱动程序,为了优化IIS服务器 ...