작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
103
0
//검증로직
private boolean IsNotValidHour(int hour){
return hour < 0 || hour > 23;
}
private boolean IsNotValidMINSEC(int time){
return time < 0 || time >59;
}
//메서드 정의
public void printTime(){
Scanner scanner = new Scanner(System.in);
while (true){
System.out.print("시간을 입력하세요 : ");
hour = scanner.nextInt();
if(IsNotValidHour(hour)){
System.out.println("다시 입력하세요.");
continue;
}
this.hour = hour;
System.out.print("분을 입력하세요 : ");
minute = scanner.nextInt();
if(IsNotValidMINSEC(minute)){
System.out.println("다시 입력하세요.");
continue;
}
this.minute = minute;
System.out.print("초를 입력하세요 : ");
second = scanner.nextInt();
if(IsNotValidMINSEC(second)){
System.out.println("다시 입력하세요.");
continue;
}
this.second = second;
System.out.println("현재 시간 : " + hour+"시 " + minute+"분 " + second+"초");
}
}
Time 클래스에 해당 메서드를 정의하고 입력값을 받아 시간을 초기화하고 출력하는 로직을 작성했습니다.
메서드 정의 시간로직에서는 예를 들어 55을 입력하면 다시 입력값을 받는데 분이나 초에서 잘못된 범위를 입력하면 다시 시간 로직으로 돌아갑니다.
이어서 그대로 받고 싶은데 시 분 초 로직마다 반복문을 써야할까요?