본문 바로가기
IT/Java

Java (랜덤 배열 카드게임)

by hjshims 2021. 5. 10.

 

 

package p0510;

public class CardGame {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String[] suit = { "Clubs", "Diamonds", "Hearts", "Spades" };
		String[] rank = { "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King", "Ace" };

		int[] suit2 = new int[7];		//랜덤으로 생성된 suit값을 저장할 배열
		int[] rank2 = new int[7];		//랜덤으로 생성된 rank값을 저장할 배열
		int i = 0;
		
		aa: while (i < 7) {

			int rand = (int) (Math.random() * 4);
			int rand2 = (int) (Math.random() * 13);
			suit2[i] = rand;		//랜덤으로 생성된 값을 suit2에 순서대로 저장
			rank2[i] = rand2;		//랜덤으로 생성된 값을 rank2에 순서대로 저장

			for (int j = 0; j < i; j++) { // j=0,i=0일때는 어차피 반복안함(맨처음 카드)
				if (suit2[i] == suit2[j] && rank2[i] == rank2[j]) { // 현재 인덱스값과 이전단계들 인덱스값이 같은지 비교
					System.out.println("같은 카드 입니다. 다시 선택합니다.\n"); // 같으면 같다고 출력 후 while문으로 돌아감
					continue aa;
				} 
				else {
					break;	//for문을 break 하고 밑에 print출력
				}
			}
			System.out.println(i + 1 + "번째 카드");
			System.out.println(suit[rand] + " " + rank[rand2] + " 카드를 선택했습니다.\n");
			i++;	
            //같은 카드일때 계속 i에 머물러서 while로 돌아갈테니 i를 1 증가시킨후 while문으로 가게함
		}

	}

}

 

 

<출력결과>

'IT > Java' 카테고리의 다른 글

Java (2차원 배열)  (0) 2021.05.11
Java (배열 성적처리 프로그램)  (0) 2021.05.11
Java (문자열 입력 히스토그램)  (0) 2021.05.10
Java (정수 입력 히스토그램)  (0) 2021.05.10
Java (숫자 히스토그램 만들기)  (0) 2021.05.07