第十章 幸运抽奖

一、课程内容回顾

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("\t1.注册");
  9. System.out.println("\t2.登录");
  10. System.out.println("\t3.抽奖");
  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("\t1.注册");
  11. System.out.println("\t2.登录");
  12. System.out.println("\t3.抽奖");
  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("\t1.注册");
  17. System.out.println("\t2.登录");
  18. System.out.println("\t3.抽奖");
  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("\n注册成功,请记好您的会员卡号");
  33. System.out.println("用户名\t密码\t会员卡号");
  34. System.out.println(userName + "\t" + password + "\t" + 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("\n欢迎您:" + 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("\n本日的幸运数字为:");
  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("\n恭喜!您是本日的幸运会员!");
  23. break;
  24. }
  25. }
  26. if (i == luckynums.length) {
  27. System.out.println("\n抱歉!您不是本日的幸运会员!");
  28. }
  29. }
  30. break;
时间: 2024-11-06 13:48:16

第十章 幸运抽奖的相关文章

幸运抽奖,分解一个千位数求各位数之和

import java.util.Scanner; /** * @author 蓝色以太 * 幸运抽奖 */ public class LuckyDraw { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入4位会员卡号:"); int num=sc.nextInt(); int ge=num%10; int shi=num%100/10

java-第四章-实现幸运抽奖功能

import java.util.Scanner; public class A01 { /**  * @param args  */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("我行我素购物管理系统>幸运抽奖"); Scanner input = new Scanner (System.in); System.out.println

12.幸运抽奖

import java.util.Scanner; /* * 幸运抽奖:会员号的百位数与系统随机数相同,即为中奖 * */ public class GoodLuck { public static void main(String[] args) { //随机产生一个0-9之间的任意整数 int random=(int)(Math.random()*10); // System.out.println(random); //从控制台接收一个任意的四位数 System.out.println("

幸运抽奖

package cn.com.bdqn.keke; import java.util.*; public class Test12 { public static void main(String[]args){ int i; int j; boolean a=false; String name1 = ""; String name2 = ""; String jiXu="y"; int miMa1 = 0; int miMa2 = 0; in

Java 幸运抽奖项目

package com.ob.anjou; import java.util.Scanner; public class project_five { public static void main(String[] args) { int i; int x = 0,y=0,id=0; //x为注册的用户名 y为注册的密码 id为随机生成的会员卡号 char cha; boolean yn=false; //yn 为注册标识 boolean ok=false; //ok用于判断登录的账号密码是否

幸运抽奖数据结构

/****** Object: Table [dbo].[Sweepstakes] Script Date: 12/15/2014 08:50:41 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Sweepstakes]( [id] [int] IDENTITY(1,1) NOT NULL, [title] [nvarchar](200) NOT NULL, [detail] [ntext

幸运抽奖Dp

题目:http://acm.hfut.edu.cn/OnlineJudge/ 赛后听人说用背包搞一下,然后就搞了一下,wa到不能忍啊.注意下范围. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 #include <cstdio> #include <cstdlib> #include <cstrin

Android之实现“抽奖大轮盘”

这个实例能够帮助我们学习旋转动画和计时器这两个知识点,废话不多说,上主程序: package com.bear.lotterywheel; import java.util.Timer; import java.util.TimerTask; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.view.Menu; import android.view.

小型抽奖系统的一个总结

package com.Test; import java.util.Arrays; import java.util.Scanner; public class Test2 { /** 主要功能 注册 登录 幸运抽奖 需求说明 输出菜单 选择菜单编号,输出菜单信息 如果编号选择错误,输出“您的输入有误!” 需求说明 系统询问用户是否继续 如果用户选择继续,则可以继续选择菜单,否则程序结束,退出系统 需求说明 输入用户名和密码,系统产生4位随机数作为卡号. 注册成功,显示注册信息并修改注册标识为