Problem
Given a time in AM/PM format, convert it to military (24-hour) time.
Input Format
A single string containing a time in 12-hour clock format.
Output Format
Convert and print the given time in 24-hour format.
Sample Input
07:05:45PM
Sample Output
19:05:45
Solution
1. using char[]
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String str = in.next();
char[] ch = str.toCharArray();
char[] res = Arrays.copyOfRange(ch, 0, 8);
if(ch[8] == 'A' && str.substring(0,2).equals("12")) {
res[0] = '0';
res[1] = '0';
}
else if(ch[8] =='P' && !str.substring(0,2).equals("12")) {
String hour = "" + (Integer.parseInt(str.substring(0,2)) + 12);
char[] h = hour.toCharArray();
res[0] = h[0];
res[1] = h[1];
}
System.out.println(res);
}
}
2. using StringBuilder()
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String str = in.next();
char[] inChar = str.toCharArray();
StringBuilder sb = new StringBuilder();
if(str.charAt(8) == 'A' && str.substring(0,2).equals("12")) {
sb.append("00");
sb.append(str.substring(2, 8));
}
else if(str.charAt(8) =='P' && !str.substring(0,2).equals("12")) {
String s = "" + (Integer.parseInt(str.substring(0,2)) + 12);
sb.append(s);
sb.append(str.substring(2, 8));
}
else sb.append(str.substring(0, 8));
System.out.println(sb.toString());
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。