要求

1.随机生成几组双色球号码

2.前五个为红号,后一个为蓝号,用”|”隔开

3.用面向对象实现

定义一个类命名为Ball,其中两个属性:a.球的数字
                b.球是否已经出现过。
方法: a.球的geters方法
   b.球的是否出现的的geters和setters方法
   c.以字符串打印球这个对象的方法(小于10补零,大于10不作操作)

package com.lovoinfo;/*** 球(双色球摇奖用的数字球)* * @author Administrator**/
public class Ball {private int number;// 摇出的球的数字private boolean isUsed;// 球是否被用过/*** 构造器* * @param number球的号码*/public Ball(int number) {this.number = number;}/*** number属性访问器* * @return number球的号码*/public int getNumber() {return number;}/*** used属性访问器* * @return 如果球被使用过返回true否则返回false*/public boolean isUsed() {return isUsed;}/*** used属性修改器* * @param isUsed*            true表示球被使用过false表示球没有被使用过*/public void setUsed(boolean isUsed) {this.isUsed = isUsed;}/*** 如果球的数字小于十,在数字前面补零* @return <10返回0+number,大于十返回number*/public String getNumStr() {return number < 10 ? "0" + number : "" + number;//条件运算}}

定义第二个类:
方法:a.球的装载load()
b.摇出蓝色球
c.摇出红色球(保证一个数字只出现一次)
d.排序
f.产生随机号

package com.lovoinfo;import java.util.Arrays;
import java.util.Comparator;/*** 双色球摇号机* * @author Administrator**/
public class LotteryMachine {private Ball[] redBalls = new Ball[33];private Ball[] blueBalls = new Ball[16];/*** 装入红色球和蓝色球*/public void load() {for (int i = 0; i < redBalls.length; i++) {redBalls[i] = new Ball(i + 1);// 装好33个红球}for (int i = 0; i < blueBalls.length; i++) {blueBalls[i] = new Ball(i + 1);// 装好16个蓝色球}}/*** 摇出一个蓝色球* * @return 球的对象*/public Ball getBlueBall() {int randomIndex = (int) (Math.random() * blueBalls.length);return blueBalls[randomIndex];}/*** 摇出6个红球* * @return 装红球的数组*/public Ball[] getRedBalls() {Ball[] balls = new Ball[6];for (int i = 0; i < balls.length; i++) {Ball tempBall = null;do {int randomIndex = (int) (Math.random() * redBalls.length);tempBall = redBalls[randomIndex];// 把球放在数组里面装起来} while (tempBall.isUsed());// 确保选的tempBall不是重复的数字,否则重选balls[i] = tempBall;tempBall.setUsed(true);}Arrays.sort(balls, new Comparator<Ball>() {@Overridepublic int compare(Ball o1, Ball o2) {return o1.getNumber() - o2.getNumber();}});return balls;}/*** 生成随机号码* * @return 随机号码的字符串*/public String generrateRandomNumber() {load();Ball[] rBalls = this.getRedBalls();Ball bBalls = this.getBlueBall();String str = "";for (int i = 0; i < rBalls.length; i++) {str += rBalls[i].getNumStr() + " ";}str += "|";str += bBalls.getNumStr();return str;}
}

命名第三个类:测试类:在控制台输入机选注数,输出机选的注数

package com.lovoinfo;import java.util.Scanner;public class Test01 {public static void main(String[] args) {LotteryMachine lm=new LotteryMachine();Scanner sc = new Scanner(System.in);System.out.println("机选几注:");int n=sc.nextInt();for(int i=0;i<=n;i++){System.out.println(lm.generrateRandomNumber());}sc.close();}}

Java面向对象实例(双色球摇号篇)相关推荐

  1. 夯实Java基础系列1:Java面向对象三大特性(基础篇)

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...

  2. 使用Java语言编程实现摇号机

    方式一: /*** @author Lantzrung* @date 2022年7月23日* @Description*/import java.util.Arrays;//控制器 public cl ...

  3. Linux下shell脚本之双色球摇号脚本

    Linux下shell脚本之双色球摇号脚本 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 1.编写脚本Lottery.sh,模拟摇号过程 2.6位数 ...

  4. 用Java编写的双色球摇奖系统

    第一步:这个是我们的双色球主类,包括界面设计等! 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 ...

  5. java摇号_以JAVA为平台实现摇号抽奖

    展开全部 import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionList ...

  6. 2020-10-16 js实现模拟双色球摇号

    <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8" ...

  7. java swing写的双色球摇奖机

    最近没什么事,翻看以前的博客,看到在学校那会写的小程序,那时学软件开发的目的就是做GUI啊,现在这些仍是兴趣之一 偶然发现eclipse luna自带有一个windowbuilder,一个java 可 ...

  8. Java -- 面向对象(三)

    Java – 面向对象(三) 本篇的重点是介绍多态的使用,上篇中介绍的继承,子类和父类,其实将父类对象应用于子类的特征就是多态.虽然不好理解,建议关于多态的定义理解,看一下参考书,因为他是抽象的内容, ...

  9. JAVA读取Excel表格,建数据库建表,并生成java实体实例

    转自:https://blog.csdn.net/wuyongde_0922/article/details/43233413 JAVA读取Excel表格,建数据库建表,并生成java实体实例,这一篇 ...

最新文章

  1. 问题 B: 分组统计
  2. 杂记2017.10.16
  3. VTK:PolyData之SmoothPolyDataFilter
  4. Spring boot starter
  5. 寻找 K8s 1.14 Release 里的“蚌中之珠”
  6. java 的单态模式(只可以创建一个对象)
  7. 数据科学入门与实战:玩转pandas实战项目分析航班晚点情况
  8. linux mint 安装java_Linux mint 安装步骤
  9. idea swagger生成接口文档_Spring Boot(九)Swagger2自动生成接口文档和Mock模拟数据...
  10. json_decode和json_encode的区别
  11. 互联网运营数据分析(2):转化分析
  12. VML 魅力初现--美少女图(vml可以这样强大?)
  13. 深入NXP蓝牙SDK开发(x)---深挖BLE蓝牙协议栈配对过程(3)_密钥分发
  14. 大学物理上册详细笔记_大学物理上册课堂笔记.pdf
  15. 图片人群计数模型代码运行指南
  16. linux查询日志命令加过滤,日志查看技巧之筛选[linux命令集][排查篇]
  17. 基于小波精英解学习和多角度搜索的新型阴阳平衡优化算法
  18. NB,用这一篇文章带你了解什么是爬虫?
  19. 网络攻防研究第001篇:尝试暴力破解某高校研究生管理系统学生密码
  20. php生成gif动态图片_动态生成gif格式的图像要注意?

热门文章

  1. 学会这4招,轻松解决开关电源EMI
  2. MMS(Manufacturing Message Specification)协议分析
  3. 基于springboot的化妆品美妆销售商城网站
  4. Python城堡漫游记之第0章误入游戏空间
  5. 合伙创业人力股的具体计算方法
  6. linux下go语言入门,Go语言入门之旅(二):环境搭建-Linux篇
  7. 忽略链路状态的功能详解——网络测试仪实操
  8. 程序员又“作死”了,用AI算法一键“脱”衣,遭全球网友炮轰
  9. 室内空气质量类毕业论文文献包含哪些?
  10. php redis 唯一id,PHP + Redis 实现一个简单的twitter