案例1: 数字加密

package practice;public class EncryptCode {public static void main(String[] args) {//        int[] arr = {33,56,76,24,89,10};int[] arr = {1,9,8,3};int[] resultArr = encryptCode(arr);for (int i = 0; i < resultArr.length; i++) {System.out.print(resultArr[i] + "\t");}System.out.println();System.out.println("------------");for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + "\t");}}public static int[] encryptCode(int[] arr) {int[] newArr = new int[arr.length];for (int i = 0; i < arr.length; i++) {newArr[i] = (arr[i] + 5) % 10;}for (int i = 0, j = newArr.length - 1; i < j; i++, j--) {// 交换i j位置的值 完成反转int temp = newArr[i];newArr[i] = newArr[j];newArr[j] = temp;}return newArr;}
}

案例2: 双色球系统


先生成幸运数字:

package practice;import java.util.Random;public class DoubleBall {public static void main(String[] args) {int[] luckyNumbers = generateLuckyNumbers();for (int i = 0; i < luckyNumbers.length; i++) {System.out.print(luckyNumbers[i] + "\t");}}public static int[] generateLuckyNumbers() {// 动态生成7个数字int[] numbers = new int[7]; // [0, 0, 0, 0, 0, 0 | blue]// 遍历 生成1-33 6个不重复的号码Random r = new Random();for (int i = 0; i < numbers.length - 1; i++) {while (true) {int data = r.nextInt(33) + 1; // 1-33 ===> (0-32) + 1boolean flag = true; // 标记位 默认data没有和之前的重复// 去重for (int j = 0; j < i; j++) {// 如果有重复if (numbers[j] == data) {flag = false;break;}}// 走到这里 说明没有重复if (flag) {numbers[i] = data;break;}}}// 为第7个位置生成一个蓝色号码 1-16之间numbers[numbers.length - 1] = r.nextInt(16) + 1;return numbers;}
}

再处理用户输入

// 用户选号public static int[] userInputNumbers() {int [] userNumbers = new int[7];// 录入6个红球号码Scanner sc = new Scanner(System.in);for (int i = 0; i < userNumbers.length - 1; i++) {System.out.println("input [" + i + "] lucky number(red 1-33): ");// 为了方便演示 这里不做去重和范围的检测int redNumber = sc.nextInt();userNumbers[i] = redNumber;}System.out.println();System.out.println("input number(blue 1-16): ");userNumbers[userNumbers.length - 1] = sc.nextInt();return userNumbers;}

判断中奖情况

/ 判断中奖情况public static void judge(int[] luckyNumber, int[] userNumber) {// lucky numbers ==> 4   24  28  17  5   11  | 13// user numbers ==>  10    22  13  9   6   11  | 8// 定义两个变量 分别存储红球命中个数 篮球命中个数int redHit = 0;int blueHit = 0;// 统计命中的红球for (int i = 0; i < userNumber.length - 1; i++) {for (int j = 0; j < luckyNumber.length - 1; j++) {if (luckyNumber[j] == userNumber[i]) {redHit += 1;break;}}}// 统计命中的蓝球blueHit = userNumber[userNumber.length - 1] == luckyNumber[luckyNumber.length - 1] ? 1 : 0;// 开奖if (blueHit == 1 && redHit < 3) {System.out.println("congrats! You earn $5!");} else if (blueHit == 0 && redHit == 4 || blueHit ==1 && redHit == 3) {System.out.println("congrats! You earn $10!");} else if (blueHit == 0 && redHit == 5 || blueHit ==1 && redHit == 4) {System.out.println("congrats! You earn $200!");} else if (blueHit ==1 && redHit == 5) {System.out.println("congrats! You earn $3000!");} else if (blueHit ==0 && redHit == 6) {System.out.println("congrats! You earn $90000!");} else if (blueHit ==1 && redHit == 6) {System.out.println("congrats! You earn $999999!");} else {System.out.println("sorry");}}

完整代码

package practice;import java.util.Random;
import java.util.Scanner;public class DoubleBall {public static void main(String[] args) {// 生成号码int[] luckyNumbers = generateLuckyNumbers();System.out.println();// 用户选号int[] userNumbers = userInputNumbers();printArrayElements(userNumbers);// 公布幸运号码printArrayElements(luckyNumbers);// 判断中奖情况judge(luckyNumbers, userNumbers);}// 生成幸运号码7位public static int[] generateLuckyNumbers() {// 动态生成7个数字int[] numbers = new int[7]; // [0, 0, 0, 0, 0, 0 | blue]// 遍历 生成1-33 6个不重复的号码Random r = new Random();for (int i = 0; i < numbers.length - 1; i++) {while (true) {int data = r.nextInt(33) + 1; // 1-33 ===> (0-32) + 1boolean flag = true; // 标记位 默认data没有和之前的重复// 去重for (int j = 0; j < i; j++) {// 如果有重复if (numbers[j] == data) {flag = false;break;}}// 走到这里 说明没有重复if (flag) {numbers[i] = data;break;}}}// 为第7个位置生成一个蓝色号码 1-16之间numbers[numbers.length - 1] = r.nextInt(16) + 1;return numbers;}// 用户选号public static int[] userInputNumbers() {int [] userNumbers = new int[7];// 录入6个红球号码Scanner sc = new Scanner(System.in);for (int i = 0; i < userNumbers.length - 1; i++) {System.out.println("input [" + i + "] lucky number(red 1-33): ");// 为了方便演示 这里不做去重和范围的检测int redNumber = sc.nextInt();userNumbers[i] = redNumber;}System.out.println();System.out.println("input number(blue 1-16): ");userNumbers[userNumbers.length - 1] = sc.nextInt();return userNumbers;}// 判断中奖情况public static void judge(int[] luckyNumber, int[] userNumber) {// lucky numbers ==> 4   24  28  17  5   11  | 13// user numbers ==>  10    22  13  9   6   11  | 8// 定义两个变量 分别存储红球命中个数 篮球命中个数int redHit = 0;int blueHit = 0;// 统计命中的红球for (int i = 0; i < userNumber.length - 1; i++) {for (int j = 0; j < luckyNumber.length - 1; j++) {if (luckyNumber[j] == userNumber[i]) {redHit += 1;break;}}}// 统计命中的蓝球blueHit = userNumber[userNumber.length - 1] == luckyNumber[luckyNumber.length - 1] ? 1 : 0;// 开奖if (blueHit == 1 && redHit < 3) {System.out.println("congrats! You earn $5!");} else if (blueHit == 0 && redHit == 4 || blueHit ==1 && redHit == 3) {System.out.println("congrats! You earn $10!");} else if (blueHit == 0 && redHit == 5 || blueHit ==1 && redHit == 4) {System.out.println("congrats! You earn $200!");} else if (blueHit ==1 && redHit == 5) {System.out.println("congrats! You earn $3000!");} else if (blueHit ==0 && redHit == 6) {System.out.println("congrats! You earn $90000!");} else if (blueHit ==1 && redHit == 6) {System.out.println("congrats! You earn $999999!");} else {System.out.println("sorry");}}// 打印数组方法public static void printArrayElements(int[] arr) {System.out.println();for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + "\t");}}
}

JavaSE 实战 中奖判断相关推荐

  1. mysql 当前用户连接数_实战:判断mysql中当前用户的连接数-分组淘选

    实战:判断mysql中当前用户的连接数-分组筛选 #connets.sh #!/bin/sh #ocpyang@126.com #根据输入参数u或d来显示出对应的用户名或数据库名中用户的连接数. #也 ...

  2. IT客学院《JavaSE实战项目 LOL工具箱+愤怒的小鸟拼图》

    JavaSE实战项目(1) -- LOL工具箱 1.项目介绍 2.创建项目 3.展示第一张logo 4.实现按钮连帧播放动画 5.加入线程 6.实现自动化动画效果 7.编制主菜单类 8.主菜单的主界面 ...

  3. 【备忘】JavaSE实战项目 LOL工具箱+愤怒的小鸟拼图 教程下载

    [IT客学院]JavaSE实战项目[1]--LOL工具箱 1.项目介绍.exe 2.制作主窗体.exe 3.为窗口加入图标.exe 4.加入角色按钮集.exe 5.角色按钮实现-1.exe 6.角色按 ...

  4. JavaSE 实战:贪吃蛇游戏

    前言 学习 Java 已经一个月了,作为一个 GameBoy ,梦想之一就是能做出来自己的游戏,于是决定尝试编写贪吃蛇来作为阶段性总结. 经过一天的奋(zhua)战(kuang),终于实现了基本的功能 ...

  5. 刻意练习:LeetCode实战 -- Task26.判断子序列

    背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法(Leetcode)刻意练习训练营 的打卡任务.本期训练营采用分类别练习的模式,即选择了五个知识点(数组.链表.字符串.树.贪心算法),每个知 ...

  6. python爬虫找工作要掌握什么_python爬虫实战:判断招聘信息的存在

    在找工作的时候,我们会选择上网查询招聘的信息,或者是通过一些招聘会进行现场面试.但由于信息更新不及时,有一些岗位会出现下架的情况,如果我们不注意的话,可能就扑了空.在时间上耽误了不说,面试的信息也会受 ...

  7. 机器学习 day5 day6 分类问题实战:判断是否为羊毛党

    判断是否为羊毛党 合并用户表和现金表,过滤掉没有钱包事件的用户 合并总表 取出有用的列 修正时间格式 将表分开成羊毛党用户(invalid)的行为和非羊毛用户(valid)的行为 数据探索 同pare ...

  8. Django项目实战——8—(判断用户是否登录并返回JSON、Django发送邮件的配置、生成邮箱验证链接、验证邮箱后端逻辑)

    1.判断用户是否登录并返回JSON 重要提示: 只有用户登录时才能让其绑定邮箱. 此时前后端交互的数据类型是JSON,所以需要判断用户是否登录并返回JSON给用户. 方案一: 使用Django用户认证 ...

  9. 【C 语言之项目实战】判断闰年及计算天数(详细版)

    目录 1.项目要求 2.定义模块函数 3.各模块函数实现 4.项目源代码 5.项目总结 1. 项目要求 1.1 首先判断用户输入的年份是否为闰年: 1.2 计算一年中每个月份的天数: 1.3 用户输入 ...

最新文章

  1. Bicolor的使用
  2. 清华大学开始招收高二学生,数学天赋是最重要的入围条件
  3. 如何用Pygame写游戏(十四)
  4. LightGCN:用于推荐任务的简化并增强的图卷积网络 SIGIR 2020
  5. linux anaconda搜索路径,Anaconda安装及虚拟环境搭建教程(linux)
  6. cortex-m 2017 whitepaper (English and Chinese)
  7. 图像处理自学(五):CAMERA驱动软件硬件架构V4L2
  8. Qt 实现多语言 国际化 翻译
  9. linux系统原理论文3000字,linux操作系统(论文).doc
  10. 35张动图:关于机房空调水冷系统和风冷系统
  11. 4k hidpi 黑苹果_不折腾不舒服 篇一:2K显示器不得不说的尴尬及解决方案,聊聊MacOS开启HiDPI...
  12. 通过SLD_BODY动态改变geoserver的图层样式
  13. 微软官网下载win10系统
  14. 20200701——mybatis #与$
  15. 暑期JAVA学习(14.1)Map集合案例-统计投票人数
  16. 细数WOW里暴雪的“亲儿子”们
  17. 我最欣赏的一句话:天道酬勤
  18. 智科某课小论文:当今世界计算机硬件与软件发展现状
  19. LS1046:挂载根文件系统
  20. 六大布局之线性布局详解

热门文章

  1. PIL库 : 居中对齐写入文本(英文 / 中文)
  2. 图片转换成语音怎么弄?这几个方法教给你
  3. 在vue中使用videoJs实现前端视频流
  4. win7计算机组策略打不开,三个步骤解决win7系统本地组策略打不开的问题
  5. audio应用-外接akm7755
  6. NOI 2016 游记
  7. 第三届太原理工大学程序设计竞赛新生赛(未完结)
  8. 网络版五子棋程序的开发
  9. 《软件创富》 序:1997前后
  10. 100以内所有质数的输出。