자바 지정 개수 및 구간 범위 의 중복 되 지 않 는 난수 생 성 배열 에 저장
4752 단어 자바
//
public void print(Integer[] arr) {
if(arr != null) {
for (int i = 0; i < arr.length; i++) {
if(i == 0) {
System.out.print("[");
}
System.out.print(arr[i]);
if(i == arr.length - 1) {
System.out.print("]");
} else {
System.out.print(",");
}
}
} else {
System.out.println("arr is null");
}
}
/**
* 0 ,
* @param randomVal ---
* @param arrSize ---
* @param startZero --- 0
* @return
* @throws IllegalAccessException
*/
public Integer[] random(int randomVal, int arrSize, boolean startZero) throws IllegalAccessException {
if(randomVal < arrSize) {
throw new IllegalAccessException("randomVal can't less than arrSize");
} else if (randomVal <= 0) {
throw new IllegalAccessException("randomVal should more than 0");
}
Integer[] arr = new Integer[arrSize];
for (int i = 0; true;) {
int val = new Random().nextInt(randomVal);
if(!startZero) {
val += 1;
}
boolean hasExist = false;
if(i > 0) {
for(int j = i - 1; j >= 0; j --) {
if (val == arr[j]) {
hasExist = true;
break;
}
}
}
if(!hasExist) {
arr[i ++] = val;
}
if(i == arrSize) {
break;
}
}
return arr;
}
호출 방식
print(random(5, 5, false)); // [1,2,5,4,3]
print(random(5, 5, true)); // [0,4,1,3,2]
print(random(100, 5, true)); // [45,27,51,99,88]
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.