실습
package constructor;
public class MainClass {
public static void main(String[] args) {
TimeService ts = new TimeService();
ts.display();
}
}
MainClass 클래스
package constructor;
import java.text.SimpleDateFormat;
import java.util.Scanner;
public class TimeService {
Scanner sc = new Scanner(System.in);
TimeDTO DTO = new TimeDTO();
SimpleDateFormat si = new SimpleDateFormat("yyyy년 MM월 dd일 aa hh시 mm분 ss초");
String startTime, endTime;
int useTime;
// 기본 메뉴 출력
public void display() {
while(true) {
System.out.println("1. 시작 시간 설정");
System.out.println("2. 시작 시간 확인(년 월 일 시 분 초)");
System.out.println("3. 종료 시간 설정");
System.out.println("4. 종료 시간 확인(년 월 일 시 분 초)");
System.out.println("5. 사용 시간 가져오기");
System.out.print("선택 >>> ");
int choice = sc.nextInt();
switch(choice) {
case 1: startTime(); break;
case 2: showStart(); break;
case 3: endTime(); break;
case 4: showEnd(); break;
case 5: useTime(); break;
default : System.out.println("입력 오류!!!\n"); break;
}
}
}
// 시작 시간 설정
private void startTime() {
DTO.setStartTime(System.currentTimeMillis());
System.out.println("시작 시간 설정 완료");
}
// 시작 시간 출력
private void showStart() {
startTime = si.format(DTO.getStartTime());
System.out.println("시작 시간 : " + startTime);
}
// 종료 시간 설정
private void endTime() {
DTO.setEndTime(System.currentTimeMillis());
System.out.println("종료 시간 설정 완료");
}
// 종료 시간 출력
private void showEnd() {
endTime = si.format(DTO.getEndTime());
System.out.println("종료 시간 : " + endTime);
}
// 사용 시간 출력
private void useTime() {
// 시작시간이 종료시간보다 빠른 경우
if ( DTO.getEndTime() < DTO.getStartTime() ) {
System.out.println("시작 시간이 종료시간보다 빠를 수 없습니다.");
}
// 시작 시간이 설정되지 않은 경우
else if ( DTO.getStartTime() == 0 ) {
System.out.println("시작 시간을 설정해주세요");
}
// 종료 시간이 설정되지 않은 경우
else if ( DTO.getEndTime() == 0 ) {
System.out.println("종료 시간을 설정해주세요");
}
// 사용 시간 계산 후 출력
else {
double use = DTO.getEndTime() - DTO.getStartTime();
useTime = (int)(use / 1000);
System.out.println("사용 시간 : " + useTime + "초");
}
}
}
TimeService 클래스
package constructor;
public class TimeDTO {
private long startTime, endTime;
public long getStartTime() {
return startTime;
}
public void setStartTime(long startTime) {
this.startTime = startTime;
}
public long getEndTime() {
return endTime;
}
public void setEndTime(long endTime) {
this.endTime = endTime;
}
}
TimeDTO 클래스
728x90
'국비지원_핀테크' 카테고리의 다른 글
12일차_ [java] 예외 처리 ( Exception ) (0) | 2024.02.20 |
---|---|
12일차_ [java] 상속 ( Inheritance ) (0) | 2024.02.20 |
11일차_ [java] 미니 실습 (0) | 2024.02.19 |
11일차_ [java] Default 접근 제한자 (0) | 2024.02.19 |
11일차_ [java] 유용한 클래스 ( 시간 출력, 코드 지연 ) (1) | 2024.02.19 |