문제) Math.random()의 난수 발생기를 이용하여 사용자와 컴퓨터가 하는 가위바위보 게임을 만들어보자. 가위, 바위,보는 각각 1,2,3 키이다. 사용자가 1,2,3 키 중 하나를 입력하면 동시에 프로그램에서 난수 발생기를 이용하여 1,2,3 중에 한 수를 발생시켜 컴퓨터가 낸 것을 결정한다. 그리고 사용자와 컴퓨터 둘 중 누가 이겼는지를 판변하여 승자를 출력한다.
풀이)
package 실습문제6;
import java.util.Scanner;
public class App {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
boolean result = false;
while(result==false) {
System.out.print("가위(1), 바위(2), 보(3), 끝내기(4)>>");
int user = scanner.nextInt();
String userPick ="";
if(user==4) {
System.out.println("게임을 종료합니다. ");
result = true;
break;
} if(user>=5) {
System.out.println("1~4 숫자를 입력하세요");
continue;
}
int com = (int)(Math.random()*3+1);
String comPick ="";
switch (user) {
case 1:
userPick = "가위";
break;
case 2:
userPick = "바위";
break;
case 3:
userPick = "보";
break;
default:
break;
}
switch (com) {
case 1:
comPick = "가위";
break;
case 2:
comPick = "바위";
break;
case 3:
comPick = "보";
break;
default:
break;
}
System.out.printf("사용자 %s : 컴퓨터 %s",userPick,comPick );
System.out.println();
if(user<com) {
System.out.println("사용자가 졌습니다.");
} else if(user>com) {
System.out.println("사용자가 이겼습니다.");
} else if(user==com){
System.out.println("비겼습니다.");
} else if(user==0) {
System.out.println("숫자를 입력하세요.");
break;
}
}
scanner.close();
}
}
1) 1~4 이외의 수를 입력하면 해당 안내문을 출력한 후 다시 반복문으로 돌아간다.
출력화면)
'BACKEND > Java' 카테고리의 다른 글
실습 문제 ) p236 3번 풀이 -명품 자바 에센셜 (1) | 2023.10.03 |
---|---|
실습 문제 ) p235 1번 풀이 -명품 자바 에센셜 (0) | 2023.10.03 |
실습 문제 ) p188 Bonus1 풀이 -명품 자바 에센셜 (2) | 2023.10.03 |
실습 문제) 187p 6번 풀이 - 명품 자바 에센셜 (0) | 2023.10.03 |
실습 문제 ) p185 4번 풀이 -명품 자바 에센셜 (0) | 2023.10.03 |