我有一个接受字符串的方法。


如果它包含三个字符,则在第零个和第一个元素之间放置一个:例如:1231:23
如果它有四个字符,那么我在第一个和第二个元素之间放置一个:例如:123412:34


由于某些原因,我一直得到奇怪的结果。

这是我的方法:

private String addColon(String openOrclose)
{
    String newHour = null;
    if(openOrclose.length() == 3)
    {
        newHour = openOrclose.substring(0,0) + ":" + openOrclose.substring(1,2);

    }
    else
    {
        newHour = openOrclose.substring(0,1) + ":" + openOrclose.substring(2,3);
    }
    return newHour;
}


对于三个字符,我的结果为:2,对于四个字符,我的结果为1:3

最佳答案

你近了您需要调整子字符串调用的索引:

private String addColon(String openOrclose)
{
    String newHour = null;
    if(openOrclose.length() == 3)
    {
        newHour = openOrclose.substring(0,1) + ":" + openOrclose.substring(1,3);

    }
    else
    {
        newHour = openOrclose.substring(0,2) + ":" + openOrclose.substring(2,4);
    }
    return newHour;
}

07-28 06:05