1. 程式人生 > >模擬雙色球彩票開獎結果:隨機生成一注雙色球彩票,判斷其是否中獎,獎金為多少。

模擬雙色球彩票開獎結果:隨機生成一注雙色球彩票,判斷其是否中獎,獎金為多少。

利用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); } }

這裡寫圖片描述