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