作业帮 > 综合 > 作业

求java大神给解释以下双色球代码的意思.

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/27 22:30:59
求java大神给解释以下双色球代码的意思.
import java.util.Arrays;
import java.util.Random;
/*写一个程序,产生一个双色球数
规则:红球有33个(范围1到33),产生6个不同的随机数
篮球有16个(范围为1到16),产生1个随机数
最后结果要求 前六位为有序排列 最后一个球为蓝球,放在最后一位.
如:产生的6个不同红球数分别为:32 24 15 3 10 30 ,
那么首先排序,然后再产生一个个蓝球数,组合在一起,为彩票号码.
最好实现为单位数前面补零,如 3 在结果中为“03”
*/
public class Text {
static Random random=new Random();
public static void main(String[] args) {
System.out.println(Arrays.toString(getStor(getRed())));
}
public static int[] getRed(){
int[]num=new int[33];
int[]ns=new int[6];
int index=0;
for(int i=0;i
求java大神给解释以下双色球代码的意思.
public class sedasd {
static Random random = new Random();
public static void main(String[] args) {
System.out.println(Arrays.toString(getStor(getRed())));/*getRed()得到存储取出的号码的数组ns
getStor()对数组的输出格式进行格式化
*/
}
public static int[] getRed() {
int[] num = new int[33];
int[] ns = new int[6];
int index = 0;
for (int i = 0; i < 100; i++) {
int temp = random.nextInt(33);
if (num[temp] == 0) { //判断取出的号码是不是第一次取出
ns[index] = temp + 1; //random.nextInt(33)是从零到32所以要加1
num[temp] = 1;
index++;
}
if (!(ns[5] == 0)) { //判断是不是取6个号码
return ns;
}
}
return ns;
}
public static String[] getStor(int[] s) {
String[] ns = new String[6];
Arrays.sort(s);
for (int i = 0; i < s.length; i++) {
if (s[i] < 10) {
ns[i] = "0" + s[i];
} else {
ns[i] = "" + s[i];
}
}
return ns;
}
}

希望可以帮到你,要是还不理解可以在问我.