步骤一:使用Random类获取随机数
Random函数使用:
Random random = new Random();
int result1=random.nextInt(1); // 使用对象调用 nextInt方法用于获取 [ 0 , 1) 之间的随机数int result2=random.nextInt(30)+1 //这样就可以获取 [ 1 ,30 ] == [ 1 , 31 )
编写函数获取随机数:
public static int randomNumber(){ //返回随机数1-30
Random random=new Random();
return random.nextInt(30)+1;
}
步骤二:产生不同于数组中的数
public static void compareNum(int j,int num,int arr[]){ //产生不同的数
for(int i=0;i<arr.length;i++){ //循环数组
if (num==arr[i] && i!=j){ //判断是否与数组中的某个数相同
num=randomNumber(); //相同就重新产生随机数
arr[j]=num; //将原来数组中重复的数,替换为新产生的随机数
compareNum(j,num,arr); //调用自身,再次判断
}
}
}
步骤三:存储六个随机数
public static void getNumber(int array[]){ //获取六个数
for (int i=0;i<array.length;i++){ //循环数组
array[i]=randomNumber(); //在相应的位置上产生随机数
if (i>=1){ //判断数组中是否含有两个数及以上
compareNum(i,array[i],array); //输入参数,当前的位置数,整个数组
}
}
}
步骤四:遍历数组
public static void showArray(int array[]){ //输出数组中的六个数
for (int i=0;i<array.length;i++){
System.out.print(array[i]+"\t");
}
}
整体代码:
import java.util.Random;
public class Day01 {
public static void main(String[] args) {
int array[]=new int[6];
getNumber(array);
showArray(array);
}
public static void getNumber(int array[]){ //获取六个数
for (int i=0;i<array.length;i++){
array[i]=randomNumber();
if (i>=1){
compareNum(i,array[i],array);
}
}
}
public static void compareNum(int j,int num,int arr[]){ //产生不同的数
for(int i=0;i<arr.length;i++){
if (num==arr[i] && i!=j){
num=randomNumber();
compareNum(j,num,arr);
}
arr[j]=num;
}
}
public static int randomNumber(){ //返回随机数1-30
Random random=new Random();
return random.nextInt(30)+1;
}
public static void showArray(int array[]){ //输出数组中的六个数
for (int i=0;i<array.length;i++){
System.out.print(array[i]+"\t");
}
}
}