模擬雙色球彩票開獎結果:隨機生成一注雙色球彩票,判斷其是否中獎,獎金為多少。
阿新 • • 發佈:2019-02-08
利用random類隨機生成1-32六個不相同的數值作為雙色球號碼的紅球,
再生成一個1-16隨機數作為藍球的號碼。將此存放到陣列中。
同理生成一箇中獎號碼,兩個陣列進行比較,當有相同的數時進行計數。最後可以通過計數值知道自己中了幾等獎。
package tests;
import java.util.Arrays;
import java.util.Random;
public class random_ {
int blue,re;
int red[]=new int[6];
public random_() {
Random random=new Random();
this.blue=random.nextInt(16)+1;
for(int i=0;i<red.length;i++){
re=random.nextInt(33);
for(int j=0;j<red.length;j++){
if(re!=red[j]){
red[j]=re;
}else{
re=random.nextInt(32)+1 ;
}
}
System.out.print(red[i]+" ");
}
System.out.println(blue);
}
public void compare(random_ r){
int m=0,p=0;
/* Arrays.sort(red);
for(int i=0;i<red.length;i++){
System.out.print(red[i]+" ");
}
System.out.println("");
Arrays.sort(r.red);
for(int j=0;j<r.red.length;j++){
System.out.print(r.red[j]+" ");
}*/
for(int i=0;i<red.length;i++){
for(int j=0;j<r.red.length;j++){
if(red[i]==r.red[j]){
m++;
}
}
}
if(blue==r.blue){
p++;
}
if(m==6&&p==1){
System.out.println("一等獎");
}else if(m==6){
System.out.println("二等獎");
}else if(m==5&&p==1){
System.out.println("三等獎");
}else if(m==5||(m==4&&p==1)){
System.out.println("四等獎");
}else if(m==4||(m==3&&p==1)){
System.out.println("五等獎");
}else if((m==2&&p==1)||(m==1&&p==1)||p==1){
System.out.println("六等獎");
}else{
System.out.println("很遺憾,沒中獎");
}
}
}
package tests;
public class demo_1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("雙色球號碼:");
random_ ra1=new random_();
System.out.println("中獎號碼:");
random_ ra2=new random_();
ra1.compare(ra2);
}
}