안녕하세요 자바칩 프라푸치노입니다.
오늘의 문제는
요 문제가 되겠습니다.
생각해야하는것이
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
'JAVA > java 문제' 카테고리의 다른 글
[자바JAVA] 조건문 - 월을 입력받고 계절 출력 switch문 , if문 (0) | 2020.09.30 |
---|---|
[자바JAVA] 조건문 - BMI구하고 체중관리 출력하기(스캐너, 삼항연산자, if문) (0) | 2020.09.30 |
[자바JAVA]연산자 - 섭씨 화씨 변환하기 (0) | 2020.09.20 |
[자바JAVA]연산자 - 쉬프트연산자, 논리연산자, 비교연산자, 증감연산자 (0) | 2020.09.19 |
[자바JAVA] 연산자 - 논리연산자, 비교연산자 (0) | 2020.09.19 |