JAVA/풀어봅시다 (eclipse)

[JAVA] 가위바위보, 승률

샛별KIM 2021. 5. 31. 15:45
import java.util.Arrays;
import java.util.Iterator;
import java.util.Scanner;

public class Test01 {
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		int input = 0;

		do {			
			System.out.println("몇 번 반복하시겠습니까?");
			input = sc.nextInt();
		} while (input < 1);
		
		int[] result = new int[input];
		int input2 = 0;
		
		for (int i = 0; i < result.length; i++) {
			do {				
				System.out.println("가위바위보 중 하나를 내세요. \n 1.가위 2.바위 3.보 ");
				input2 = sc.nextInt();
			} while (input2 < 1 || input2 > 3);
			
			int com2 = (int) (Math.random() * 3 + 1);

			System.out.print("사용자가 " + 
					(input2 == 1 ? "가위" : input2 == 2? "바위" : "보") +", ");
			System.out.print("컴퓨터가 " + 
					(com2 == 1 ? "가위" : com2 == 2? "바위" : "보") + "이므로 ");
			
			
			if (input2 == com2) {
				result[i] = 2;
				System.out.print("비겼");
				
			} else if (input2 == 1 && com2 == 2 || input2 == 2 && com2 == 3 || input2 == 3 && com2 == 1) {
				result[i] = 0;
				System.out.print("졌");
			} else {
				result[i] = 1;
				System.out.print("이겼");
			}
			// 3 배열에 결과값 저장하기
			System.out.println("습니다.");

		}
		//승률은 여기에서 (이김 / (짐+이김)) * 100
		System.out.println(Arrays.toString(result));
		int win = 0, draw = 0;
		
		for (int i = 0; i < result.length; i++) {
			if(result[i] == 1) {
				win++;
			}else if(result[i] == 0){
				draw++;
			}
		}

		System.out.println("승 : " + win);
		System.out.println("패 : " + draw);
		System.out.println("승률 : " + (win / (double)(draw + win) * 100 ));
		
	}
}