java009

제로·2022년 9월 4일
0

Java basic

목록 보기
9/45
post-custom-banner

Math.random()

  1. Math.random()은 Math 클래스 하위에 static 메서드로
    0.0 <= Math.random() < 1.0
  2. 임의의 수를 처리하기
    0.0 10 <= Math.random() 10 < 1.0 10
    0.0 <= Math.random()
    10 < 10.0
    0.0 <= (int)Math.random() 10 < 10.0 // 0 ~ 9 10가지 경우의 수
    1.0 <= (int)(Math.random()
    10 + 1) < 11.0 // 1 ~ 10 10가지 경우의 수
  3. 임의의 정수 처리 공식
    (int)(Math.random() 경우의 수 + 시작 수)
    1) 주사위를 임의로 처리하기
    1 ~ 6까지 6가지 경우의 수
    (int)(Math.random()
    6 + 1)
  4. Math.random()를 활용한 가위 바위 보 게임
    ex) 컴퓨터가 가위, 바위, 보를 내게 하고, 내가 가위 바위 보를 Scanner로 냈을 때, 승/무/패가 되게 조건 처리하세요. 가위 0 바위 1 보 2
    0 1 1이 이김
    1 2 2가 이김
    2 0 0이 이김
    idx++ 0 1 2 3 4 5
    idx++%3 0 1 2 0 1 2.. 첫번째 사람이 가위 - 0
    두번째 사람이 바위 - 1 //바위가 승리
    첫번째 사람의 idx보다 1개 더 많으면 뒤 사람이 승 첫번째 사람이 바위 - 1
    두번째 사람이 보 - 2 //보가 승리
    첫번쨰 사람의 idx보다 1개 더 많으면 뒤 사람이 승 첫번째 사람이 보 - 2
    두번째 사람이 가위 - 0 //보가 승리
    첫번째 사람의 idx%3보다 1개ㅏ 더 많으면 뒤에 사람이 승 2다음이 3인데 3을 %3으로 처리하면 0이 된다.
    비기는 조건 idx가 동일
    그 외는 첫번째 사람이 이기는 처리
int comIdx = (int)(Math.random()*3); //0,1,2
			Scanner sc2 = new Scanner(System.in);
			System.out.println("#컴퓨터와 함께하는 가위/바위/보#");
			System.out.println("내가 선택한 가위/바위/보");
			String myChStr = sc2.nextLine();
			int myIdx = myChStr.equals("가위")?0:(myChStr.equals("바위")?1:2);
			String comChStr = comIdx==0?"가위":(comIdx==1?"바위":"보");
			System.out.println("컴의 선택 : "+comChStr);
			System.out.println("나의 선택 : "+myChStr);
			
			if(comIdx==myIdx) {
				System.out.println("무승부");
			}else if((comIdx+1)%3==myIdx) {
				System.out.println("나의 승");
			}else {
				System.out.println("컴의 승");
			}
profile
아자아자 화이팅
post-custom-banner

0개의 댓글