资讯专栏INFORMATION COLUMN

[HackerRank] Time Conversion

longmon / 2839人阅读

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/66014.html

相关文章

  • [HackerRank] Simple Array Sum | A Very Big Sum

    Simple Array Sum Problem Given an array of N integers, can you find the sum of its elements? Input Format The first line contains an integer, N, denoting the size of the array. The second line contain...

    harriszh 评论0 收藏0
  • [HackerRank] Diagonal Difference

    Problem Given a square matrix of size N x N, calculate the absolute difference between the sums of its diagonals. Input Format The first line contains a single integer, N. The next N lines denote the ...

    warmcheng 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<