zoukankan      html  css  js  c++  java
  • 第十章 幸运抽奖

    一、课程内容回顾

    1 控制台程序开发

    2 变量与运算符

    3 数据类型与数组

    4 流程控制语句

    二、任务

    • 为某商场开发一套幸运抽奖系统,客户首先注册成为商场会员,会员登录系统,参加抽奖活动

    三、主要功能

    • 注册

    • 登录

    • 幸运抽奖 

    四、综合练习:幸运抽奖 

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

    需求:

    • 输出菜单

    • 选择菜单编号,输出菜单信息

    • 如果编号选择错误,输出“您的输入有误!”

            

    实现

    1. public class LuckyNumber1 {
    2. /**
    3. * 幸运抽奖-实现基本逻辑的输出显示
    4. */
    5. public static void main(String[] args) {
    6. Scanner input = new Scanner(System.in);
    7. System.out.println("*****欢迎进入奖客富翁系统*****");
    8. System.out.println(" 1.注册");
    9. System.out.println(" 2.登录");
    10. System.out.println(" 3.抽奖");
    11. System.out.println("***************************");
    12. System.out.print("请选择菜单:");
    13. int choice = input.nextInt();
    14. switch (choice) {
    15. case 1:
    16. System.out.println("[奖客富翁系统 > 注册]");
    17. break;
    18. case 2:
    19. System.out.println("[奖客富翁系统 > 登录]");
    20. break;
    21. case 3:
    22. System.out.println("[奖客富翁系统 > 抽奖]");
    23. break;
    24. default:
    25. System.out.println("[您的输入有误!]");
    26. break;
    27. }
    28. }
    29. }

    阶段2:实现循环执行功能 

    需求说明

    • 系统询问用户是否继续

    • 如果用户选择继续,则可以继续选择菜单,否则程序结束,退出系统

            

    实现

    1. public class LuckyNumber2 {
    2. /**
    3. * 幸运抽奖-循环执行
    4. */
    5. public static void main(String[] args) {
    6. String answer = "y"; // 标识是否继续
    7. Scanner input = new Scanner(System.in);

    8. do {

    9. System.out.println("*****欢迎进入奖客富翁系统*****");
    10. System.out.println(" 1.注册");
    11. System.out.println(" 2.登录");
    12. System.out.println(" 3.抽奖");
    13. System.out.println("***************************");
    14. System.out.print("请选择菜单:");
    15. int choice = input.nextInt();
    16. switch (choice) {
    17. case 1:
    18. System.out.println("[奖客富翁系统 > 注册]");
    19. break;
    20. case 2:
    21. System.out.println("[奖客富翁系统 > 登录]");
    22. break;
    23. case 3:
    24. System.out.println("[奖客富翁系统 > 抽奖]");
    25. break;
    26. default:
    27. System.out.println("[您的输入有误!]");
    28. break;
    29. }
    30. System.out.print("继续吗?(y/n):");
    31. answer = input.next();
    32.                        System.out.println("");
    33. } while ("y".equals(answer));
    34. if ("n".equals(answer)) {
    35. System.out.println("系统退出,谢谢使用!");
    36. }
    37. }
    38. }

    阶段练习3:实现注册

    需求说明

    • 输入用户名和密码,系统产生4位随机数作为卡号。

    • 注册成功,显示注册信息并修改注册标识为true

    提示

        产生四位随机数的代码

    1. int max = 9999;
    2. int min = 1000;
    3. cardNumber = (int)(Math.random()*(max-min)) +min;

    实现

    1. public class LuckyNumber3 {
    2. /**
    3. * 幸运抽奖-注册
    4. */
    5. public static void main(String[] args) {
    6. String answer = "y"; // 标识是否继续
    7. String userName = ""; // 用户名
    8. String password = ""; // 密码
    9. int cardNumber = 0; // 卡号
    10. boolean isRegister = false; // 标识是否注册
    11. int max = 9999;
    12. int min = 1000;
    13. Scanner input = new Scanner(System.in);
    14. do {
    15. System.out.println("*****欢迎进入奖客富翁系统*****");
    16. System.out.println(" 1.注册");
    17. System.out.println(" 2.登录");
    18. System.out.println(" 3.抽奖");
    19. System.out.println("***************************");
    20. System.out.print("请选择菜单:");
    21. int choice = input.nextInt();
    22. switch (choice) {
    23. case 1:
    24. System.out.println("[奖客富翁系统 > 注册]");
    25. System.out.println("请填写个人注册信息:");
    26. System.out.print("用户名:");
    27. userName = input.next();
    28. System.out.print("密码:");
    29. password = input.next();
    30. // 获取4位随机数作为卡号
    31. cardNumber = (int)(Math.random()*(max-min))+min;
    32. System.out.println(" 注册成功,请记好您的会员卡号");
    33. System.out.println("用户名 密码 会员卡号");
    34. System.out.println(userName + " " + password + " " + cardNumber);
    35. isRegister = true; // 注册成功,标志位设置为true
    36. break;
    37. case 2:
    38. System.out.println("[奖客富翁系统 > 登录]");
    39. break;
    40. case 3:
    41. System.out.println("[奖客富翁系统 > 抽奖]");
    42. System.out.println("[奖客富翁系统 > 抽奖]");
    43. break;
    44. default:
    45. System.out.println("[您的输入有误!]");
    46. break;
    47. }
    48. System.out.print("继续吗?(y/n):");
    49. answer = input.next();
    50. System.out.println("");
    51. } while ("y".equals(answer));
    52. if ("n".equals(answer)) {
    53. System.out.println("系统退出,谢谢使用!");
    54. }
    55. }
    56. }

    阶段四:练习——实现登录功能

    需求说明:

    • 输入注册时的用户名和密码,登录成功,提示欢迎信息

    • 如果用户名和密码输入错误,提示用户继续输入,最多有3次输入机会 

    代码

    1. case 2:
    2. System.out.println("[奖客富翁系统 > 登录]");
    3. if (isRegister) { // 判断是否注册
    4. // 3次输入机会
    5. for (int i = 1; i <= 3; i++) {
    6. System.out.print("请输入用户名:");
    7. String inputName = input.next();
    8. System.out.print("请输入密码:");
    9. String inputPassword = input.next();
    10. if (userName.equals(inputName) && password.equals(inputPassword)) {
    11. System.out.println(" 欢迎您:" + userName);
    12. isLogin = true; // 登录成功,标志位设置为true
    13. break;
    14. } else if (i < 3) {
    15. System.out.println("用户名或密码错误,还有" + (3 - i) + "次机会!");
    16. } else {
    17. System.out.println("您3次均输入错误!");
    18. }
    19. }
    20. } else {
    21. System.out.println("请先注册,再登录!");
    22. }
    23. break;

    阶段5:练习——实现幸运抽奖 

    需求说明:

    • 登录成功后,用户选择幸运抽奖菜单,进入幸运抽奖功能

    • 输入会员卡号,系统生成5个4位随机数作为幸运数字

    • 如果会员卡号是其中之一,则成为本日幸运会员;否则不是幸运会员 

    代码

    1. case 3:
    2. System.out.println("[奖客富翁系统 > 抽奖]");
    3. if (!isLogin) { // 判断是否登录
    4. System.out.println("请先登录,再抽奖!");
    5. System.out.println("继续吗?(y/n)");
    6. answer = input.next();
    7. } else {
    8. //生成5个4位随机数字,并保存在数组中
    9. int[] luckynums = new int[5];
    10.    for(int i = 0; i < luckynums.length; i++){
    11.     luckynums[i] = (int)(Math.random()*(max-min))+min;
    12.    }
    13. System.out.print("请输入您的卡号:");
    14. int yourcard = input.nextInt();
    15. int i;
    16. System.out.print(" 本日的幸运数字为:");
    17. for (i = 0; i < luckynums.length; i++) {
    18. System.out.print(luckynums[i] + "  ");
    19. }
    20. for (i = 0; i < luckynums.length; i++) {
    21. if (luckynums[i] == yourcard) {
    22. System.out.println(" 恭喜!您是本日的幸运会员!");
    23. break;
    24. }
    25. }
    26. if (i == luckynums.length) {
    27. System.out.println(" 抱歉!您不是本日的幸运会员!");
    28. }
    29. }
    30. break;













  • 相关阅读:
    ORA-**,oracle 12c操作问题
    [MySQL] specified key was too long max key length is 767bytes
    ActiveMQ objecmessage 无法调用问题。
    关于IPMI的几个问题
    Linux平台上SQLite数据库教程(一)——终端使用篇
    0ra-12170 tns 连接超时
    iBatis应用--控制执行SQL时的超时时间
    深入理解JDBC的超时设置
    oracle关键字作为字段名使用方法
    Java中使用OpenSSL生成的RSA公私钥进行数据加解密
  • 原文地址:https://www.cnblogs.com/imentors/p/4693682.html
Copyright © 2011-2022 走看看