今天是我们来到青岛软件园实习的第五天。今天仍然以写代码为主,老师布置了一个双色球作业,让在课上完成。
我利用面向对象的思想实现了随机产生双色球数字的程序,即六位随机数字,一位红球数字。并且不重复。具体代码如下
import java.util.*;
public class TwoColorBall
{
public static void main(String args)
{
RedBall redball = new RedBall[6];
BlueBall blueball= new BlueBall;
blueball.random;
int key2 = blueball.getBlueBall;
int
;
int num2 = {-1,-1,-1,-1,-1,-1};
for (int i=0; i<6 ; i++ ){
redball[i] = new RedBall;
redball[i].random;
int key1 = redball[i].getRedBall;
Arrays.sort(num1);
int index = Arrays.binarySearch(num1, key1);
if (index>0){ num1[key1-1]=-10; num2[i]= key1; num1 = {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,29,30,31}
}else{
i--; } }
System.out.print("红球为:"); for (int j=0;j<6 ;j++ ){
System.out.print(num2[j]); System.out.print(" ");
}
System.out.println;
System.out.print("蓝球为:"); System.out.print(key2);
}
}
class RedBall
{
private int redNumber; public void random{
Random r = new Random; redNumber = r.nextInt(32); if (redNumber == 0){ this.random;
}
}
public int getRedBall{
return redNumber;
}
}
class BlueBall
{
private int blueNumber;
public void random{
Random r = new Random;
blueNumber = r.nextInt(17);
if (blueNumber == 0){
this.random;
}
}
public int getBlueBall{
return blueNumber;
}
}
本程序我首先创建了两个数组,一个是篮球数组,一个是红球数组。然后在制定的范围内产生随机数,当数字一产生,就讲数组中的数字改为-1,用这种方式避免了产生相同数字的情况。最后一次选出随机数。