Java 11
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int h = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
br.close();
StringBuilder sb = new StringBuilder();
if (m < 45) {
if (h == 0) {
h = 23;
sb.append(h).append(" ");
}
else {
h--;
sb.append(h).append(" ");
}
sb.append(m = 60 - (45 - m));
}
else {
sb.append(h).append(" ").append(m - 45);
}
System.out.print(sb);
}
}
생성자/메소드
StringTokenizer(String str, String delim)
: 문자열을 지정한 구분자로 나누는 StringTokenizer를 생성.
: 구분자는 토큰으로 간주되지 않습니다.
StringTokenizer(String str, String delim, boolean returnDelims)
: 구분자도 토큰으로 간주.
int countTokens()
: 전체 토큰의 수를 반환
boolean hasMoreTokens()
: 토큰이 남아있는지 알려 줌
String nextToken()
: 다음 토큰을 반환
public static void main(String[] args) {
String source = "100,200,300,400";
StringTokenizer st = new StringTokenizer(source, ",");
while(st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
}
// 결과값
// 100
// 200
// 300
// 400