JAVA/java 문제

[자바JAVA]연산자 - 초를 입력받아서 시간, 분 , 초로 출력하기

자바칩 프라푸치노 2020. 9. 20. 18:46

안녕하세요 자바칩 프라푸치노입니다.

오늘의 문제는

요 문제가 되겠습니다.

 

생각해야하는것이 

time을 어떻게 구워삶아서 second와 minute과 hour이 제대로 나오게 할까

이것을 생각해야겠죠.

일단 time은 입력받은 초 입니다.

초를 시간으로 계산하려면 60*60을 나누어야 겠죠

분은 초를 60으로 나누어야겠고

초는 60으로 나눈 나머지를 출력해야겠네요.

 

그렇다면

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package sec01_verify;
 
import java.util.Scanner;
 
public class Exercise09 {
 
    public static void main(String[] args) {
 
        Scanner scanner = new Scanner(System.in);
        System.out.print("초를 입력하세요:");
        int time = scanner.nextInt();
        
        int hour = time/(60*60);
        int minute = time/60;
        int second = time%60;
        System.out.println(time +"초는 " + hour + "시간, " + minute + "분, " + second + "초입니다.");
        scanner.close();
    }
 
}
 
cs

요렇게 되겠네요.

그런데 의문이 들지 않나요?

만약에 저기에 1000이 아니라 10000을 입력한다면?

이렇게 분이 60을 넘어서게 나옵니다.

이것을 방지하기 위해서 코드가 조금 더 필요하겠네요.

그렇다면 분에서 시간*60한 값을 빼주면 되겠죠.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package sec01_verify;
 
import java.util.Scanner;
 
public class Exercise09 {
 
    public static void main(String[] args) {
 
        Scanner scanner = new Scanner(System.in);
        System.out.print("초를 입력하세요:");
        int time = scanner.nextInt();
        
        int hour = time/(60*60);
        int minute = time/60-(hour*60);
        int second = time%60;
        System.out.println(time +"초는 " + hour + "시간, " + minute + "분, " + second + "초입니다.");
        scanner.close();
    }
 
}
 
cs

요렇게 해주었습니다.

그러면 이렇게 정상적으로 출력이 되네요.

 

728x90