Java学习笔记(四)

经过前期环境的搭建,和能够对eclipse的熟练使用

而且在学习了for、while、do-while等循环、if语句、switch语句、数组、String类之后,现在开始创建一个小型幸运抽奖系统对知识进行巩固和编程能力提升。

抽奖系统

  • 任务

    模拟注册登录幸运抽奖全过程

  • 主要功能

    1. 注册
    2. 登陆
    3. 抽奖

阶段1 实现菜单的输出显示

  • 需求说明

    1. 输出菜单
    2. 选择菜单编号,输出菜单信息
    3. 如果编号选择错误,输出“您的输入有误!”

阶段2 实现菜单循环执行功能

  • 需求说明

    1. 系统询问用户是否继续
    2. 如果用户选择继续,则可以继续选择菜单,否则程序结束,退出系统

阶段3 实现注册功能

  • 需求说明

    1. 输入用户名和密码,系统产生4位随机数作为卡号。
    2. 注册成功,显示注册信息并修改注册标识为true

阶段4 实现登录功能

  • 需求说明

    1. 输入注册时的用户名和密码,登录成功,系统提示欢迎信息
    2. 如果用户名和密码输入错误,提示用户继续输入,最多有3次输入机会

阶段5 实现幸运抽奖功能

  • 需求说明

    1. 登录成功后,用户选择幸运抽奖菜单,进入幸运抽奖功能
    2. 输入会员卡号,系统生成5个4位随机数作为幸运数字
    3. 如果会员卡号是其中之一,则成为本日幸运会员;否则不是幸运会员

以上五个阶段便实现了一个简单的幸运抽奖系统

说明:

  1. 在阶段3 注册的时候设置了在该系统中只能存储十个用户,而且注册时如果该用户名已经存在就会注册失败
  2. 在阶段5 抽奖的时候如果没有先进行登陆便不能进行抽奖

实现

代码

package test;import java.util.Scanner;/*** 幸运抽奖* * @author ZQQ**/
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;// 注册的用户名,注册的密码,确认密码,登陆用户名,登陆密码,会员号,幸运数String[][] userlist = new String[10][3];// 存储用户名,密码,会员号Scanner inputScanner = new Scanner(System.in);while (temp == 1) {// 循环系统int temp1 = 1, flag = 0;// 计数器System.out.println("*************欢迎进入奖客富翁系统*************");// 打印菜单System.out.println("           1.注册");System.out.println("           2.登陆");System.out.println("           3.抽奖");System.out.println("**********************************************");System.out.print("请选择菜单号:");input = inputScanner.next();if (input.equals("1") || input.equals("2") || input.equals("3")) {switch (input) {case "1":// 注册int flag1=1;System.out.println("奖客富翁系统>注册");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' + "会员卡号");for (int i = 0; i < 4; i++) {// 随机生成4个随机数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]) + '\t');ID = null;System.out.println();county = 0;countx++;System.out.print("是否继续(y/n):");char anserString = inputScanner.next().charAt(0);if (anserString == 'n') {temp = 0;break;} else {break;}} else {System.out.println("两次密码不一致,请重新输入密码");// 回头在改continue;}}break;case "2":// 登陆System.out.println("奖客富翁系统>登陆");System.out.print("请输入用户名:");username2 = inputScanner.next();for (int i = 0; i < 10; i++) {flag++;if (username2.equals(userlist[i][0])) {// 判断是否存在此用户while (temp1 < 4) {System.out.print("请输入密码:");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("奖客富翁系统>抽奖");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.print(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.print("是否继续(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("退出系统,谢谢使用!");}
}

实验结果

打印菜单

多人注册

用户登陆

用户抽奖

注册密码不一致)

登陆密码错误

未登录

问题

在进行菜单功能选择的时候刚开始用的是int型,结果当用户输入的是字符的时候就会报错,通过将输入改成String类的后尽管输入的数值不是菜单上的内容,但是会进行提醒重新输入,不会报错。

Java课程设计抽奖系统相关推荐

  1. java课程设计 考试系统,java课程设计考试系统.

    java课程设计考试系统.Tag内容描述: 1.目 录 第一章第一章 引言引言 3 1 1目的 3 1 2名词解释 3 1 3参考资料 3 1 4文档结构 3 第第 2 章章远景远景 4 2 1项目概 ...

  2. Java课程设计--理财系统

    以下报告为本人(闽师18软2班2号)Java课程设计功能详解,如有大面积借鉴或转载,烦请注明来源 视图模块 一.登陆 主要使用方法: 1.禁用frame装饰 即让Frame窗口失去边框和标题栏的修饰 ...

  3. java课程设计抽奖程序源码_java课程设计---个人博客 彩票抽奖程序 201821123098 钟海清...

    1.团队课程设计博客链接 2.个人负责模块或任务说明 我主要负责主要负责管理员类,实现滚动抽奖.自动注册购买彩票以及查看中奖信息和用户信息的方法 3.自己的代码提交记录截图 4.自己负责模块或任务详细 ...

  4. 简易抽奖系统(Java课程设计/大作业)

    简易抽奖系统(Java课程设计/大作业) package 简易抽奖系统; import java.awt.*; import java.awt.event.ActionEvent; import ja ...

  5. java中国象棋网络对弈,java课程设计---中国象棋对弈系统

    java课程设计---中国象棋对弈系统 1 目目 录录 摘要 1 关键字 1 正文 2 1.程序设计说明. 2 1.1 程序的设计及实现 2 1.1.1搜索引擎的实现(engine包) . 2 1.1 ...

  6. ATM柜员机JAVA课程设计_JAVA课程设计报告银行ATM机系统.doc

    JAVA课程设计报告银行ATM机系统 Java课程设计报告 题 目 银行ATM机系统 所在院系 软件学院 学生姓名 金磊 专 业 R机械+软件 班 级 R机械094 学 号 2011年 7 月 15日 ...

  7. ## 大一java课程设计_航班查询系统(我是小白)

    大一java课程设计_航班查询系统(我是小白) 备注:第一个java程序有借鉴别人的成分,因为忘了在哪个大佬上面借鉴的,所以在此备注,如有侵权,请联系删除,(仅用于学习使用,并未想盈利) 框体介绍 一 ...

  8. 用java做小学数学系统_小学生数学练习题目自动生成系统——java课程设计

    <小学生数学练习题目自动生成系统--java课程设计>由会员分享,可在线阅读,更多相关<小学生数学练习题目自动生成系统--java课程设计(37页珍藏版)>请在金锄头文库上搜索 ...

  9. 【Java课程设计】商品仓库管理系统jsp+servlet+mysql仓库管理系统

    软件环境 idea,jdk8,mysql8,tomcat8 技术栈 后端:jsp+servlet+jdbc 前端:html+js+css+layui 拓展 本项目虽然是导入在webapp/WEB-IN ...

最新文章

  1. 招聘:兼职ASP 高级工程师
  2. 布局覆盖 超出一部分_Android 布局优化
  3. myeclipse配置java8_MyEclipse 2017配置Tomcat8
  4. k8s容器内的东西复制出来_容器 | Docker 如此之好,你为什么还要用k8s
  5. 使用什么优化器_新的深度学习优化器Ranger:RAdam + LookAhead强强结合
  6. 面对网络灾难风暴Fortinet安立方打造完美方舟
  7. 完美解决“运行引擎需要DX11特性等级10.0”
  8. mac制作ubuntu 18.04 U盘启动盘
  9. python提取时长2s以内的单词音频的韵母基频,以及单词词长信息
  10. PS仿制图章工具、油桶工具、渐变
  11. 华为手机灭屏也能看时间吗?很多技巧你不知道,2分钟就能学会
  12. IEEE 754 浮点数
  13. 在线制作html模板,快速建站 20个设计优秀的HTML网站模板(免费)
  14. Docker Overlayfs文件系统联合挂载原理
  15. Windows7集成SP1补丁中文旗舰版光盘镜像下载 (真正微软MSDN官方原版32位+64位)
  16. 转:SELENIUM TIPS: CSS SELECTORS
  17. Android webview处理404 500 断网 timeout页面的问题(by 星空武哥)
  18. Python爬虫ExcelTableau可视化数据分析
  19. 商家和实体店公众号应该怎么做?
  20. 关于MediaRecord一边录制一边拍照的问题

热门文章

  1. openpyxl常用用法
  2. php视频吾爱破解,php 32行代码简单实现抖音无水印视频api,附前台页面
  3. linux vim显示行号
  4. 怎么查看计算机水平,如何查看一台电脑的配置和性能水平
  5. power bi服务器在微软,部署到 Power BI
  6. hive删除表数据方法
  7. 用python爬取指定数据流量是几点_使用python进行微信宜出行人流量数据爬取
  8. linux grub关闭 fsck,手把手教你安全运行fsck命令
  9. Java程序员不可错过的12款开发框架
  10. PHP 生成海报(头像,昵称,简介)