728x90
반응형

시간 게임

  • Calendar 클래스를 이용한 시간 게임을 작성하라.
  • 엔터 눌렀을 때 현재 시간을 구하시오.
  • 두 번째 엔터를 눌렀을 때 현재 시간을 구하시오.
  • 두 시간 차이를 구하시오.
  • 10초에 가까운 시간을 카운트한 사람이 승자이다.

 

 

코드

	static int Game(Calendar c, Scanner scan, String s){	
		System.out.println("10초에 가까운 사람이 이기는 게임입니다.");
		System.out.print(s+":엔터 누르면 시작");
		scan.nextLine();
		
		c = Calendar.getInstance();
		int p1=c.get(Calendar.SECOND);
		System.out.println("시작 초:"+p1);
		
		System.out.print(s+":엔터 누르면 10초 카운트 종료");
		scan.nextLine();
		
		c = Calendar.getInstance();
		int p2=c.get(Calendar.SECOND);
		System.out.println("마지막 초:"+p2);
		//둘의 차이 구하기
		int n = p2>p1? p2-p1:(p2+60)-p1;
		System.out.println(s+"의 결과:"+n);
		System.out.println(); //줄바꿈
		
		return Math.abs(10-n);
	}
	
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		Calendar c = Calendar.getInstance();
		
		//플레이어 1
		int p1 = Game(c, scan, "p1");
		int p2 = Game(c, scan, "p2");

		if(p1<p2)
			System.out.println("플레이어 1의 승리입니다.");
		else if(p1==p2)
			System.out.println("비겼습니다.");
		else
			System.out.println("플레이어 2의 승리입니다.");
	}
  • 중복 코드를 없애기 위해 시간을 카운트하는 메소드 Game을 작성하였다.

 

 

 

출력 결과

10초에 가까운 사람이 이기는 게임입니다.
p1:엔터 누르면 시작
시작 초:31
p1:엔터 누르면 10초 카운트 종료
마지막 초:34
p1의 결과:3

10초에 가까운 사람이 이기는 게임입니다.
p2:엔터 누르면 시작
시작 초:36
p2:엔터 누르면 10초 카운트 종료
마지막 초:41
p2의 결과:5

플레이어 2의 승리입니다.

 

 

 

728x90
반응형

+ Recent posts