[HackerRank] Time Conversion

17人阅读 评论(0)

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());
}
}
0
0

* 以上用户言论只代表其个人观点，不代表CSDN网站的观点或立场
个人资料
• 访问：19次
• 积分：10
• 等级：
• 排名：千里之外
• 原创：1篇
• 转载：0篇
• 译文：0篇
• 评论：0条
文章分类
文章存档
阅读排行
评论排行