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의 승리입니다.
//Calendar 객체 생성
Calendar now = Calendar.getInstance();
int year = now.get(Calendar.YEAR); //now에 저장된 년도
int month = now.get(Calendar.MONTH) + 1; //now에 저장된 달. 0부터 시작하기 때문에 +1
int day = now.get(Calendar.DAY_OF_MONTH); //now에 저장된 일
System.out.println(year+"년 "+month+"월 "+day+"일 수업");
public class MethodTest {
String name;
ArrayList<Integer> list;
int arr[];
MethodTest(String name, int java, int oracle, int html){
this.name=name;
list = new ArrayList<Integer>();
list.add(java);
list.add(oracle);
list.add(html);
arr= new int[3];
arr[0]=java;
arr[1]=oracle;
arr[2]=html;
}
HashMap<String, Object> Result(){
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("name",name);
map.put("list",list);
map.put("arr",arr);
return map;
}
}
18일간의 자바 수업을 마치고 지금까지 배운 내용에 대한 테스트를 보았다. 혼자만의 힘으로 처음부터 끝까지 코드를 작성하는 테스트를 보고 나니 HashMap과 ArrayList에 대해 더 공부해야겠다고 느꼈다. 주말을 이용해서 지금까지 배웠던 내용과 예제들을 쭉 훑어보고, 테스트 문제를 복기해서 다시 코드를 작성해봐야겠다.