java双色球彩票小程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java双色球彩票小程序相关的知识,希望对你有一定的参考价值。
/**
* @author MaskedMen
*双色球 彩票代码
*/
//方式一:面向对象思想来写
public class Lettery {
public static void main(String[] args) {
roll();//摇球
}
//从球池中摇出双色球号码
public static void roll() {
Ball[] ballBlue = new Ball[16];//篮球池
Ball[] ballRed=new Ball[33];//红球池
Ball[] takeBall = new Ball[6];
//生成篮球
for(int i=1;i<=ballBlue.length;i++){
ballBlue[i-1] = new Ball(i, "篮球", false);
}
//生成红球
for(int i=1;i<=ballRed.length;i++){
ballRed[i-1] = new Ball(i, "红球", false);
}
//取出6个红球
for(int i=0;i<takeBall.length;i++){
int random=0;
do{
random = (int)(Math.random()*ballRed.length);
}while(ballRed[random].isStatus());//若摇出的球的属性status=true,则继续摇滚
takeBall[i]=ballRed[random];
ballRed[random].setStatus(true);//已经出现的球,将其status属性设置为true
}
//输出取出的红球
System.out.print(ballRed[0].getColor()+"为:");
for(Ball b:takeBall){
System.out.print(" "+b.getNumber());
}
//输出取出的蓝球
int number = ballBlue[(int)(Math.random()*ballBlue.length)].getNumber();
System.out.println("\n"+ballBlue[0].getColor()+"为:"+number);
}
}
//球类
class Ball{
int number;
String color;
boolean status;
public Ball(int number, String color, boolean status) {
super();
this.number = number;
this.color = color;
this.status = status;
}
public int getNumber() {
return number;
}
public String getColor() {
return color;
}
public boolean isStatus() {
return status;
}
public void setStatus(boolean status) {
this.status = status;
}
}
方式二:非面向对象
//双色球彩票
public static void loterry(){
int length=33;//红球的个数
int[] blueBal = new int[16];//篮球池
int[] redBal = new int[length];//红球池
int[] takeRed = new int[6];
int num = 0; //随机生成的红球池下标
boolean[] bln = new boolean[33];
//生成篮球1-16号
for(int i=0;i<blueBal.length;i++){
blueBal[i]=i+1;
}
//生成红球1-33号
for(int i=0;i<redBal.length;i++){
redBal[i]=i+1;
}
//红球池中随机取出6个红球 且不重复 方法一
for(int i=0;i<6;i++){
num = (int)(Math.random()*redBal.length);
takeRed[i] = redBal[num];
for(int j=num;j<redBal.length-1;j++){//将数组中的元素向前移动
redBal[j]=redBal[j+1];
}
redBal = Arrays.copyOf(redBal, redBal.length-1);//改变数组的长度
}
//红球池中随机取出6个红球 且不重复 方法二
/*for(int i=0;i<takeRed.length;i++){
int redRan;
do{
redRan = (int)(Math.random()*33);
}while(bln[redRan]);
takeRed[i]=redBal[redRan];
bln[redRan]=true;//标记使用
}*/
System.out.print("红球为:");
for(int i=0;i<6;i++){
System.out.print(" "+takeRed[i]);
}
System.out.print("\n篮球为:"+blueBal[(int)(Math.random()*blueBal.length)]);
}
本文出自 “别败给自己” 博客,请务必保留此出处http://8110866.blog.51cto.com/8100866/1745163
以上是关于java双色球彩票小程序的主要内容,如果未能解决你的问题,请参考以下文章
Java设计模式--------建造者模式(Builder模式)