국비교육/국비교육 복습

Day04_condition_Test10 : 글 작성후 흐른 시간 표시 + 시간을 4자리 정수로 표시하는 방법 (★)

Luver Duck 2022. 7. 31. 19:45

(Q)작성한 게시글이 몇 초 전에 작성되었는지에 대한 값이 주어진다고 가정합니다.
'''java
int second = 150;
'''
시간을 다음 규칙에 따라 변환하여 출력하는 프로그램을 구현
-방금 전 : 작성한지 10초 이내인 글
-?초 전 : 작성한지 1분이 되지 않은 글
-?분 전 : 작성한지 1분 이상이면서 1시간이 되지 않은 글
-?시간 전 : 작성한지 1시간 이상이면서 24시간이 되지 않은 글
-?일 전 : 나머지

 

package condtiion;

public class Test10 {

	public static void main(String[] args) {

		int second = 150;

		int minToSec = 60;
		int hourToSec = minToSec * 60;
		int dayToSec = hourToSec * 24;

		int time;
		if(second < minToSec) {
			if(second < 10) {
				time = 10;
				System.out.println("방금 전");
			}
			else {
				time = second % minToSec;
				System.out.println(time + "초 전");
			}
		}

		else if(second < hourToSec) {
			time = second / minToSec;
			System.out.println(time + "분 전");
		}

		else if(second < dayToSec) {
			time = second / hourToSec;
			System.out.println(time + "시간 전");
		}

		else {
			time = second / dayToSec;
			System.out.println(time + "일 전");
		}

	}

}

 

1) 시간을 매 초로 표시할 경우에는 '%' 연산을, ~시간처럼 묶음 단위 시간으로 표시할 경우 '/' 연산을 이용한다

 

2) 4자리 숫자로 시간을 표시할 수 있다

int Time = 1200;		//입력 시간
int Hour = Time / 100;		//시간 [h]
int Min = Time % 100;		//분 [min]

 

package condtiion;

public class Test10; {

package day03;

public class Day04_condition_Test10_1 {

	public static void main(String[] args) {

		int minToSec = 60;
		int hourToSec = minToSec * 60;
		int dayToSec = hourToSec * 24;

		int inTime = 1200;
		int inHour = inTime / 100;
		int inMin = inTime % 100;
		int inTimeSec = inHour * hourToSec + inMin * minToSec;

		int outTime = 1620;
		int outHour = outTime / 100;
		int outMin = outTime % 100;
		int outTimeSec = outHour * hourToSec + outMin * minToSec;

		int second = outTimeSec - inTimeSec;


		int time;
		if(second < minToSec) {
			if(second < 10) {
				time = 10;
                System.out.println("방금 전");
			}
			else {
				time = second % minToSec;
                System.out.println(time + "초 전");
			}
		}

		else if(second < hourToSec) {
			time = second / minToSec;
            System.out.println(time + "분 전");
		}

		else if(second < dayToSec) {
			time = second / hourToSec;
            System.out.println(time + "시간 전");
		}

		else {
			time = second / dayToSec;
            System.out.println(time + "일 전");
		}

	}

}