Java面向对象实例(双色球摇号篇)
要求
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面向对象实例(双色球摇号篇)相关推荐
- 夯实Java基础系列1:Java面向对象三大特性(基础篇)
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...
- 使用Java语言编程实现摇号机
方式一: /*** @author Lantzrung* @date 2022年7月23日* @Description*/import java.util.Arrays;//控制器 public cl ...
- Linux下shell脚本之双色球摇号脚本
Linux下shell脚本之双色球摇号脚本 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 1.编写脚本Lottery.sh,模拟摇号过程 2.6位数 ...
- 用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 ...
- java摇号_以JAVA为平台实现摇号抽奖
展开全部 import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionList ...
- 2020-10-16 js实现模拟双色球摇号
<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8" ...
- java swing写的双色球摇奖机
最近没什么事,翻看以前的博客,看到在学校那会写的小程序,那时学软件开发的目的就是做GUI啊,现在这些仍是兴趣之一 偶然发现eclipse luna自带有一个windowbuilder,一个java 可 ...
- Java -- 面向对象(三)
Java – 面向对象(三) 本篇的重点是介绍多态的使用,上篇中介绍的继承,子类和父类,其实将父类对象应用于子类的特征就是多态.虽然不好理解,建议关于多态的定义理解,看一下参考书,因为他是抽象的内容, ...
- JAVA读取Excel表格,建数据库建表,并生成java实体实例
转自:https://blog.csdn.net/wuyongde_0922/article/details/43233413 JAVA读取Excel表格,建数据库建表,并生成java实体实例,这一篇 ...
最新文章
- 问题 B: 分组统计
- 杂记2017.10.16
- VTK:PolyData之SmoothPolyDataFilter
- Spring boot starter
- 寻找 K8s 1.14 Release 里的“蚌中之珠”
- java 的单态模式(只可以创建一个对象)
- 数据科学入门与实战:玩转pandas实战项目分析航班晚点情况
- linux mint 安装java_Linux mint 安装步骤
- idea swagger生成接口文档_Spring Boot(九)Swagger2自动生成接口文档和Mock模拟数据...
- json_decode和json_encode的区别
- 互联网运营数据分析(2):转化分析
- VML 魅力初现--美少女图(vml可以这样强大?)
- 深入NXP蓝牙SDK开发(x)---深挖BLE蓝牙协议栈配对过程(3)_密钥分发
- 大学物理上册详细笔记_大学物理上册课堂笔记.pdf
- 图片人群计数模型代码运行指南
- linux查询日志命令加过滤,日志查看技巧之筛选[linux命令集][排查篇]
- 基于小波精英解学习和多角度搜索的新型阴阳平衡优化算法
- NB,用这一篇文章带你了解什么是爬虫?
- 网络攻防研究第001篇:尝试暴力破解某高校研究生管理系统学生密码
- php生成gif动态图片_动态生成gif格式的图像要注意?
热门文章
- 学会这4招,轻松解决开关电源EMI
- MMS(Manufacturing Message Specification)协议分析
- 基于springboot的化妆品美妆销售商城网站
- Python城堡漫游记之第0章误入游戏空间
- 合伙创业人力股的具体计算方法
- linux下go语言入门,Go语言入门之旅(二):环境搭建-Linux篇
- 忽略链路状态的功能详解——网络测试仪实操
- 程序员又“作死”了,用AI算法一键“脱”衣,遭全球网友炮轰
- 室内空气质量类毕业论文文献包含哪些?
- php redis 唯一id,PHP + Redis 实现一个简单的twitter