ex.
===== 가위 바위 보 게임 =====
숫자를 선택하세요(1.가위 / 2.바위 / 3.보) : 1
========== 결과 ==========
당신은 가위를 냈습니다.
컴퓨터가 보를 냈습니다.
==========================
당신이 이겼습니다 ^^*
🪂 소스코드
package com.kh.day03.array.exercise;
import java.util.Random;
import java.util.Scanner;
public class Exercise_Random {
public void exRand1() {
Scanner sc = new Scanner(System.in);
Random rand = new Random();
System.out.println("===== 가위 바위 보 게임 =====");
System.out.print("숫자를 선택하세요(1.가위 / 2.바위 / 3.보) : ");
// 당신
int inputNum = sc.nextInt();
if(inputNum == 1) {
System.out.println("당신은 가위를 냈습니다.");
} else if(inputNum == 2) {
System.out.println("당신은 바위를 냈습니다.");
} else if(inputNum == 3) {
System.out.println("당신은 보를 냈습니다.");
} else {
System.out.println("1 ~ 3 중에 입력해주세요.");
}
// 컴퓨터
int computer = rand.nextInt(3)+1;
if(computer == 1) {
System.out.println("컴퓨터가 가위를 냈습니다.");
} else if(computer == 2) {
System.out.println("컴퓨터가 바위를 냈습니다.");
} else{
System.out.println("컴퓨터가 보를 냈습니다.");
}
System.out.println("==========================");
// 결과
if(inputNum > 0 && inputNum < 4) {
if(inputNum == 1) {
if(computer == 1) {
System.out.println("비겼습니다.");
} else if(computer == 2) {
System.out.println("당신이 졌습니다.");
} else {
System.out.println("당신이 이겼습니다.");
}
} else if (inputNum == 2) {
if(computer == 1) {
System.out.println("당신이 이겼습니다.");
} else if(computer == 2) {
System.out.println("비겼습니다.");
} else {
System.out.println("당신이 졌습니다.");
}
} else if(inputNum == 3) {
if(computer == 1) {
System.out.println("당신이 졌습니다.");
} else if(computer == 2) {
System.out.println("당신이 이겼습니다.");
} else {
System.out.println("비겼습니다.");
}
}
} else {
System.out.println("1 ~ 3 사이의 숫자를 입력해주세요");
}
}
}
🪂 소스코드
public void lottoExercise() {
// 로또 번호 자동 생성기 프로그램, 중복 없이 추출하기
// 단, 결과는 오름차순으로 정렬
// 로또 번호는 6개. 로또 번호의 범위는 1 ~ 45
int [] lottoNums = new int[6];
Random rand = new Random();
// 아래 과정을
// lottoNums[0] = rand.nextInt(10);
// lottoNums[1] = rand.nextInt(10);
// lottoNums[2] = rand.nextInt(10);
// lottoNums[3] = rand.nextInt(10);
// lottoNums[4] = rand.nextInt(10);
// lottoNums[5] = rand.nextInt(10);
// 입력
// 22 16 22 45 6 29
// 22 1 39 14 14 19
// 0 1 2 3 4 5
// int count = 1;
// int check = 1;
// 중복없이 1 ~ 45 사이의 랜덤한 수를 6개 뽑는 것.
for(int i = 0; i < lottoNums.length; i++) {
lottoNums[i] = rand.nextInt(45)+1;
for(int e = 0; e < i; e++) {
if(lottoNums[e] == lottoNums[i]) {
// 다시 뽑아야야함.
i--;
break;
}
}
}
// count++;
// check++;
// 아래 과정을 for문으로 변환
// if(lottoNums[1] == lottoNums[0]) {
// // 다시 뽑아야함.
//
// }
// // ==========================
// if(lottoNums[2] == lottoNums[1]) {
// // 다시 뽑아야함.
//
// }
// if(lottoNums[2] == lottoNums[0]) {
// // 다시 뽑아야함.
// // ==========================
// }
// if(lottoNums[3] == lottoNums[2]) {
// // 다시 뽑아야함.
//
// }
// if(lottoNums[3] == lottoNums[1]) {
// // 다시 뽑아야함.
//
// }
// if(lottoNums[3] == lottoNums[0]) {
// // 다시 뽑아야함.
//
// }
// 버블 정렬
// for의 변수가 증가하기만 하면됨.
// 단, 안에 있는 for문의 조건식의 최대값은 감소(-i) 해야함.
for(int i = 0; i < lottoNums.length; i++) {
for(int j = 0; j < (lottoNums.length-1)-i; j++) {
// 왼쪽이 크면 저리 바꾸기
if(lottoNums[j] == lottoNums[j+1]) {
int temp = lottoNums[j]; // 왼쪽에 있는 값이 지워지기 전에 킵해 놓음
lottoNums[j+1] = lottoNums[j]; // 오른쪽에 있는 값을 왼쪽에 대입람
lottoNums[j] = temp; // 킵해놓은 값을 오른쪽에 대입함
}
}
}
// 출력
for(int i = 0; i < lottoNums.length; i++) {
System.out.print(lottoNums[i] + " ");
}
}