랜덤함수(숫자뽑기,중복제거)
랜덤함수(숫자뽑기,중복제거)
1. 1~10까지의 숫자중 랜덤으로 숫자 하나뽑기
public class RandomFunction
{
public static void main(String args[])
{
int a;
Random r = new Random(); //객체생성
a = r.nextInt(10)+1;
/*nextInt(9) = 0~9까지 10개의 숫자중 랜덤으로 하나를 뽑아
변수 a에 넣는다는 의미로 1~10의 숫자에서 하나를 뽑기위해 추출된 값에서 +1을 해준다*/
System.out.println("랜덤으로 뽑힌 숫자는 "+a+"입니다."); //a에 저장된 값을 화면에 출력
}
}
실행결과(3번)
2. 11~100까지의 숫자중 랜덤으로 숫자 5개 뽑기
public class RandomFunction
{
public static void main(String args[])
{
int a;
Random r = new Random(); //객체생성
System.out.print("랜덤으로 뽑힌 숫자는 5개의 숫자는 : ");
for(int i=1;i<=5;i++) //5개의 숫자를 출력하기 위하여 for문을 사용하여 5번 반복실행
{
a = r.nextInt(90)+11;
/*nextInt(90)은 0~89까지 숫자중 랜덤함수 발생이므로 +11을 더해줘서 11~100까지의
숫자중 하나를 뽑아 변수 a에 값을 저장한다 */
if(i==5) //마지막 5번째 출력값에 ,를 제외하기 위한 조건문
{
System.out.print(a);
}
else
{
System.out.print(a+",");
}
}
System.out.print("입니다.");
}
}
실행결과(3번)
3. (중복없이)1~10까지의 숫자중 랜덤으로 숫자 6개 뽑기
public class RandomFunction
{
public static void main(String args[])
{
int a[] = new int[6]; //int형 배열 선언
Random r = new Random(); //객체생성
System.out.print("중복없이 뽑힌 6개의 숫자는 : ");
for(int i=0;i<=5;i++) //숫자 6개를 뽑기위한 for문
{
a[i] = r.nextInt(10)+1; //1~10숫자중 랜덤으로 하나를 뽑아 a[0]~a[5]에 저장
for(int j=0;j<i;j++) //중복제거를 위한 for문
{
/*현재 a[]에 저장된 랜덤숫자와 이전에 a[]에 들어간 숫자 비교
※예를 들어
배열 a[3]에 숫자 6이 들어갔을때 이전에 완성된 배열 a[0],a[1],a[2]와 비교하여
숫자 6이 중복되지 않을시 다음 a[4]으로 넘어가고, 중복된다면 다시 a[3]에 중복되지
않는 숫자를 넣기 위하여 i를 한번 감소한후 처음 for문으로 돌아가 다시 a[3]을 채운다
*/
if(a[i]==a[j])
{
i--;
}
}
}
for(int k=0;k<=5;k++) //채워진 배열을 출력하기 위한 for문
{
if(k==5)
{
System.out.print(a[k]);
}
else
{
System.out.print(a[k]+",");
}
}
System.out.print("입니다.");
}
}
실행결과(3번)
관련글도 읽어보아요
'Java > Java 예제' 카테고리의 다른 글
구구구단(삼중for문) 출력하기 (0) | 2016.04.08 |
---|---|
구구단(이중for문) 출력하기 (0) | 2016.04.08 |
1부터 10까지출력(for문) (0) | 2016.04.07 |
문자열 출력(print,println 차이점) (0) | 2016.04.07 |
1부터 100까지합 (0) | 2016.04.07 |