728x90
반응형
// 콰이바이보 If문 사용
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 가위, 바위, 보
// A. 컴퓨터 (1.가위, 2.바위, 3.보)
// B. 유저 (1.가위, 2.바위, 3.보)
System.out.println("A. 컴퓨터 (1.가위, 2.바위, 3.보):");
int val1 = in.nextInt();
System.out.println("B. 유저 (1.가위, 2.바위, 3.보):");
int val2 = in.nextInt();
String result = "";
// A 1. 가위
if( val1 == 1 ) {
if( val2 == 1 ) result = "비김";
if( val2 == 2 ) result = "이김";
if( val2 == 3 ) result = "짐";
}
// A 2. 바위
if( val1 == 2 ) {
if( val2 == 1 ) result = "짐";
if( val2 == 2 ) result = "비김";
if( val2 == 3 ) result = "이김";
}
// A 3. 보
if( val1 == 3 ) {
if( val2 == 1 ) result = "이김";
if( val2 == 2 ) result = "짐";
if( val2 == 3 ) result = "비김";
}
System.out.println(result);
}
}
if 문 안에 각 경우에 따른 if문을 추가로 사용할 때는 result를 이용해서 이렇게 나타낼 수 있습니다.
오잉 근데 이렇게 하면 컴퓨터도 제가 입력하는거네요??
수업할 때는 컴퓨터는 랜덤으로 내는걸로 했었는데
컴퓨터가 랜덤으로 내는걸 하고 싶다면 random 함수를 쓰면 되요!
System.out.println("1 = 가위, 2 = 바위, 3 = 보");
int A = (int)(Math.random()*3)+1;
System.out.println("com : " + A);
com이 내는건 랜덤으로 고를 수 있게 바꿨어요
(여기서 +1을 하는 이유는 컴퓨터는 0을 시작으로 생각하기 때문에 +1을 해줘야 합니다)
// 콰이바이보 switch문 사용
Random rnd = new Random();
int val1 = rnd.nextInt(3) + 1 ;// 0~2 + 1
System.out.println("컴퓨터의 선택:" + val1);
System.out.println("B. 유저 (1.가위, 2.바위, 3.보):");
int val2 = in.nextInt();
String result = "";
switch( val1 ) {
case 1:
switch(val2) {
case 1: result = "비김"; break;
case 2: result = "이김"; break;
case 3: result = "짐"; break;
}
break;
case 2:
switch(val2) {
case 1: result = "짐"; break;
case 2: result = "비김"; break;
case 3: result = "이김"; break;
}
break;
case 3:
switch(val2) {
case 1: result = "이김"; break;
case 2: result = "짐"; break;
case 3: result = "비김"; break;
}
break;
random 함수도 new 선언으로 더 깔끔하게 만들 수 있고
swtich를 활용하여 case별로 나누는게 더 깔끔한거 같긴 하네요
728x90
반응형
'내가 헷갈려서 정리하는 코딩 > JAVA' 카테고리의 다른 글
JAVA - 특수문자 출력 (0) | 2023.08.29 |
---|---|
JAVA - 대소문자 바꾸기 (0) | 2023.08.29 |
단위테스트(JUNIT) (0) | 2023.04.25 |
이클립스 JAVA - Oracle 바로 연결 (0) | 2023.04.11 |
내가 헷갈려서 정리하는 JAVA - printf (0) | 2023.01.29 |