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
반응형
'HRD_훈련 > 실습' 카테고리의 다른 글
[SQL] DELETE 실습 (19일차) (0) | 2023.06.12 |
---|---|
[SQL] SELECT 실습 (19일차) (0) | 2023.06.12 |
[JAVA] Calendar 문제 (18일차) (0) | 2023.06.09 |
[JAVA] Collections 클래스 문제 (18일차) (0) | 2023.06.09 |
[JAVA] Iterator 심화 문제 풀이 (17일차) (0) | 2023.06.08 |