首先获取1到33的随机数,然后放入一个list<byte>集合中。每次放入集合都要判断该集合中是否存在这个数字,如果存在则重新获取随机数。如果集合长度为6,则停止获取随机数,这个集合里就是本次嗯中奖号码。然后就是让用户输入6个数字,同样放到一个集合中,放入至少检验用户输入的是否是1-33的数字,并且这个集合里面是否有这个数字。如果有,要用户重新输入。等用户输入完,再循环0-5的下标,分别从两个集合中取值,对比,设置一个byte变量,如果值相同,则产量加1。最后判断这个产量的值为几,就知道有几个相同的了,然后根据相同的个数来打印出用户获得了几等奖。如果你还没学集合,那就用byte数组。
import java.util.ArrayListimport java.util.List
public class Test {
/**
* @param args
*/
public static void main(String[] args){
List<Integer>list = new ArrayList<Integer>()
for(int i=0i<6){
int temp = (int) (Math.random()*33+1)
System.out.println(temp)
if(!list.contains(temp)){
list.add(temp)
i++
}
}
System.out.println(list)
}
}
--------------------------------------------------------------
public class Test {
/**
* @param args
*/
public static void main(String[] args){
int[] result = new int[6]
for(int i=0i<6){ //i控制抽出数据的个数
int temp = (int) (Math.random()*33+1) //随机生成个1-33的数
System.out.println(temp)
boolean isExist = false //重复标志 false-不重复,true-重复
for(int j=0j<result.lengthj++){ //循环结果数组
if(result[j] == temp){ //如果有重复数据
isExist = true //
}
}
if(!isExist){ //如果没有重复 添加到数组中
result[i]=temp
i++
}
}
////数据结果
System.out.println("--------结果----------")
for(int i=0i<result.lengthi++){
System.out.println(result[i])
}
}
}
都给你加上注释了,好好读读,读明白了 不要光应付作业啊。