안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요^^;;
제가 공부를 하다가 궁금한게 생겨서 질문드립니다.
제가 1~10까지의 수를 랜덤하게 발생하였습니다.
그걸 arraylist에 add 했구요
그런데 중복을 주지않기위해서
난수를 발생시킨 변수와 arraylist.get의 번지를 하나하나 비교해서 같은게있다면
다시 난수를 발생시키게 하고싶은데요
su = rand(10);
nan.add(su);
su = rand(10);
처음 su에 난수를 발생시키고 그 난수를 nan이라는 arraylist에 저장했습니다.
그리고 두번째 난수를 발생시키고
arraylist.get(0)번째와 비교를 하고싶은데요
이게 10개를 반복해야할려면 반복문을 줘야하는데
그 반복문의 조건을 어떻게주어야할까요...
su = rand(10);
nan.add(su);
su = rand(10);
while(....) {
if(su == nan.get(b)) {
su = rand(10);
b++;
}
nan.add(su);
}
제가 생각했을땐 이런 코드를 해야할꺼같은데
잘떠오르지가않네요 ㅜㅜ 부탁드립니다~
2011.05.28 17:32:30
import java.util.ArrayList;
import java.util.Random;
public class JavaSeq {
private static ArrayList<Integer> al;
public static void main(String[] args) {
al = new ArrayList<Integer>();
for (int i = 0; i < 10; i++) {
int ranNum = -1;
boolean isDuplicate;
do {
isDuplicate = false;
ranNum = (int) (Math.random() * 10 + 1);
for (int j = 0; j < i; j++) {
if (ranNum == al.get(j)) {
isDuplicate = true;
break;
}
}
} while (isDuplicate);
al.add(ranNum);
}
for (int n : al) {
System.out.print(n + "\t");
}
}
}
냠냠 ㅠㅠ..



