随机数组合的方法:选取一个随机数发生器,生成1000个随机数,令这100个随机数生成数组并命名为t。同时令n=1,命名最终需要的随机数数组为x,选取第二个发生器,生成一个随机数j,且满足1而随机数组合的难点在于,步骤2步骤3的时候随机数种子的选取比较难。这里用的是第一个随机数发生器生成的随机数作为种子,也自己定义其他的种子。
import java.io.IOExceptionimport java.util.*
public class Main {
public static void main(String[] args) throws IOException{
Scanner scanner = new Scanner(System.in)
//随机生成7个不重复的数
int[] r = new int[7]
boolean[] b = new boolean[31] //记录该数是否已经生成
for(int i = 0i <7i ++){
int tem = (int)(Math.random() * 30) + 1
while(b[tem] == true)
tem = (int)(Math.random() * 30) + 1
r[i] = tem
b[tem] = true
}
//输入7个数
int[] in = new int[7]
for(int i = 0i <7i ++){
in[i] = scanner.nextInt()
}
//打印生成的7个随机数
System.out.println("Random numbers:")
for(int i = 0i <7i ++){
System.out.print(r[i] + " ")
}
System.out.println()
//打印你输入的7个数
System.out.println("Your numbers:")
for(int i = 0i <7i ++){
System.out.print(in[i] + " ")
}
System.out.println()
//打印相同的数
System.out.println("The same numbers:")
for(int i = 0i <7i ++)
for(int j = 0j <7j ++){
if(in[i] == r[j]){
System.out.print(in[i] + " ")
}
}
System.out.println()
}
}
多交流学习啊~