/**
* @description:创建一个长度为6的int型数组,要求取值为1-30,同时元素值各不相同
* @author Gerard
*/
public class ArrayExer {
public static void main(String[] args) {
//方式一
int[] arr=new int[6];
for(int i=0;i<arr.length;i++) {
arr[i]=(int)(Math.random()*30+1);
for(int j=0;j<i;j++) {
if(arr[i]==arr[j]) {
i--;
break;//break终止本层循环
}
}
}
for(int i=0;i<arr.length;i++) {
System.out.print(arr[i]+" ");
}
//方式二
System.out.println();
System.out.println("*********************");
int[] arr1=new int[6];
for(int i=0;i<arr1.length;i++) {
arr1[i]=(int)(Math.random()*30+1);
boolean flag=false;
while(true) {
for(int j=0;j<i;j++) {
if(arr1[i]==arr1[j]) {
flag=true;
break;//如果有相同值,flag置true,跳出本层for循环,执行下面的if语句
}
}
if(flag==true) {
arr1[i]=(int)(Math.random()*30+1);//重新赋值
flag=false;//flag重置
continue;//跳到while循环入口,开始下一次循环判断
}
break;//flag为false,没有重复值,跳出while循环,开始下一次外层for循环
}
}
for(int i=0;i<arr1.length;i++) {
System.out.print(arr1[i]+" ");
}
}
}
练习20221119
于 2022-11-19 01:01:43 首次发布