랜덤함수(숫자뽑기,중복제거)

Posted by ITPangPang
2016. 4. 8. 00:20 Java/Java 예제











랜덤함수(숫자뽑기,중복제거)


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