packagecom.java.arraysdemo;importjava.util.Random;//创建一个长度为6的int类型的数组,要求数组元素取值为1~30之间,并且两两之间不等。//方法一publicclassArrayDemo{publicstaticvoidmain(String[] args){int[] array =newint[6];for(int i =0; i < array.length; i++){
array[i]=(int)(Math.random()*30+1);for(int j =0; j < i; j++){//借助双层循环,单层循环容易发生数组越界问题,一维数组就可以解决问题。if(array[i]== array[j]){//确保两两之间不相等,如若相等,i--,重新赋值。
i--;break;}}}System.out.println("所创建的数组为:");for(int i =0; i <6; i++){System.out.print(array[i]+"\t");}}}
方法二
packagecom.java.arraysdemo;importjava.util.Random;//创建一个长度为6的int类型的数组,要求数组元素取值为1~30之间,并且两两之间不等。//方法二publicclassArrayDemo4{publicstaticvoidmain(String[] args){int[] array =newint[6];for(int i =0; i < array.length; i++){
array[i]=(int)(Math.random()*30+1);boolean flag =false;while(true){//构建一个while循环for(int j =0; j < i; j++){//两两比较if(array[i]== array[j]){
flag =true;break;}}if(flag){//如若相等,则重新赋值。
array[i]=(int)(Math.random()*30)+1;
flag =false;continue;}break;}}System.out.println("所创建数组为:");for(int i =0; i < array.length; i++){System.out.print(array[i]+"\t");}}}