JAVA 프로그래밍

문제

동전을 던지면 어느 면이 위쪽을 향하도록 떨어졌는지를 맞히는 동전 던지기 게임을 사용자가 계속할지 묻는 문제입니다 이를 해결하는 프로그램을 작성하세요 
동전의 앞면(1)과 뒷면(2) 중 하나를 선택하세요: 1
맞았습니다.
동전 던지기 게임을 한 번 더 하시겠습니까? (y/n): y
동전의 앞면(1)과 뒷면(2) 중 하나를 선택하세요: 1
틀렸습니다.
동전 던지기 게임을 한 번 더 하시겠습니까? (y/n): n

동전의 앞면(1)과 뒷면(2) 중 하나를 선택하세요: 1
맞았습니다.
동전 던지기 게임을 한 번 더 하시겠습니까? (y/n): n

동전의 앞면(1)과 뒷면(2) 중 하나를 선택하세요: 2
틀렸습니다.
동전 던지기 게임을 한 번 더 하시겠습니까? (y/n): y
동전의 앞면(1)과 뒷면(2) 중 하나를 선택하세요: 1
맞았습니다.
동전 던지기 게임을 한 번 더 하시겠습니까? (y/n): y
동전의 앞면(1)과 뒷면(2) 중 하나를 선택하세요: 2
맞았습니다.
동전 던지기 게임을 한 번 더 하시겠습니까? (y/n): n

알고리즘 설계

프로그램 시작 
   동전 던지기 게임
      먼저 동전을 임의로 던져서 받고 숨기기
      사용자는 동전의 앞면과 뒷면 중 하나를 선택
      사용자가 동전의 상태를 맞혔는지 결과 출력
   사용자가 원하면 게임을 계속 진행
프로그램 종료

프로그램 구현

     
 
 ※ 단계별 점검: A키(이전), D키(다음) 
 
	// 파일명 : ./Chapter08/FlipCoinLoop.java
	import java.util.Scanner;
		  
	public class FlipCoinLoop
	{
		// 프로그램 시작 
1		public static void main( String[] args ) {
			Scanner scan = new Scanner( System.in );
			char again = '\0';
2			do {
				// 동전 던지기 게임 
				// 먼저 동전을 임의로 던져서 받고 숨기기 
3				int coin = (int)( Math.random() * 2 ) + 1;
		  
				// 사용자는 동전의 앞면과 뒷면 중 하나를 선택	 
				System.out.print( "동전의 앞면(1)과 뒷면(2) 중 하나를 선택하세요: " );
4				int user = Integer.parseInt( scan.nextLine() );
		  
				// 사용자가 동전의 상태를 맞혔는지 결과 출력	 
5				System.out.println( ( coin == user ) ? "맞았습니다." : "틀렸습니다." );
		  
				// 사용자가 원하면 게임을 계속 진행 
				System.out.print( "동전 던지기 게임을 한 번 더 하시겠습니까 ?  (y/n): " );
6				again = scan.nextLine().charAt(0);
7			} while( ( again == 'y' ) || ( again == 'Y' ) );
			scan.close();
		// 프로그램 종료 
8		}
	}

실행 순서 확인