当前位置 博文首页 > YHSevenWater的博客:Java创建int类型数组,数组元素之间互不相
package com.java.arraysdemo;
import java.util.Random;
//创建一个长度为6的int类型的数组,要求数组元素取值为1~30之间,并且两两之间不等。
//方法一
public class ArrayDemo {
public static void main(String[] args) {
int [] array = new int[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");
}
}
}
package com.java.arraysdemo;
import java.util.Random;
//创建一个长度为6的int类型的数组,要求数组元素取值为1~30之间,并且两两之间不等。
//方法二
public class ArrayDemo4 {
public static void main(String[] args) {
int [] array = new int[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");
}
}
}
cs