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小项目之:象棋,羡慕你们有对象的!
象棋,是我国传统棋类益智游戏,在中国有着悠久的历史,属于二人对抗性游戏的一种,由于用具简单,趣味性强,成为流行极为广泛的棋艺活动.中国象棋是中国棋文化也是中华民族的文化瑰宝. 象棋还有很多口诀,这是最 ...
随机推荐
- Java基本语法---标识符、变量、数据类型转换及进制
Java基本语法 标识符 标识符:凡事可以自己起名字的地方,都可以叫做标志符 标识符命名规则: 26个字母大小写,数字0-9,下划线_,美元符号$ 数字不能开头 不能使用关键字和保留字,但是可以包含 ...
- Intellij IDEA 2020.1.1 破解 永久有效 亲测100%成功
申明:本教程 WebStorm 破解补丁.激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除. 前言 作为一个有强迫症的码农,怎么能忍受自己的开发工具跟不上潮流呢?笔者以前一直用 ...
- [转]前人挖坑,后人填坑—如何把那些bug挖掘出来
当我们放下一个项目转投下一个时,手头的东西就要转交给他人处理,或者..不再有人处理,可代码还在那里,搞不好你就引用了别人的东西,保不准哪天别人的代码里就爆出了个大 bug,当然这里的“别人”也可能是 ...
- Vim的三款实用插件
Vim 是 Linux 下的常用文本编辑器,但也经常被称为是一个上古神器,因为它对于初学者而言相当不友好,也不好入门. 但是,对于高手而言,他们不仅将 Vim 玩得很溜,而且还将它当作代码开发的主要工 ...
- 记一次使用windbg排查内存泄漏的过程
一.背景 近期有一个项目在运行当中出现一些问题,程序顺利启动,但是观察一阵子后发现内存使用总量在很缓慢地升高, 虽然偶尔还会往下降一些,但是总体还是不断上升:内存运行6个小时候从33M上升到80M: ...
- .net core 上传大文件
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Thr ...
- Rocket - decode - Inst Decode
https://mp.weixin.qq.com/s/WvepB3yAzjMbQalO3Z82pQ 介绍RocketChip Instruction解码逻辑的实现. 1. RISC-V R ...
- akka-typed(3) - PersistentActor has EventSourcedBehavior
akka-typed中已经没有PersistentActor了.取而代之的是带有EventSourcedBehavior的actor,也就是一种专门支持EventSource模式的actor.Even ...
- Java实现 蓝桥杯 算法提高 计算超阶乘(暴力)
试题 算法提高 计算超阶乘 问题描述 计算1*(1+k)(1+2k)(1+3k)-(1+n*k-k)的末尾有多少个0,最后一位非0位是多少. 输入格式 输入的第一行包含两个整数n, k. 输出格式 输 ...
- springboot实现定时任务,异步操作,统一结果返回,全局异常处理,拦截器及事务处理
本文是作者原创,版权归作者所有.若要转载,请注明出处. 本文都是springboot的常用和实用功能,话不多说开始吧 定时任务 1.启动类开启注解 @EnableScheduling //开启基于注解 ...