2016-02-06 3 views

ответ

1
int intervalHours(String input) { 
    String[] ts = input.split("-");   // {"9AM", "5PM"} 
    return toHours(ts[1]) - toHours(ts[0]); 

} 

int toHours(String t) { 
    int h = Integer.parseInt(t.substring(0, t.length() - 2)); 
    if (t.endsWith("PM")) 
     return h == 12 ? 12 : (h + 12); 
    else 
     return h == 12 ? 0 : h; 
} 

// ... 

System.out.println(intervalHours("9AM-5PM")); 
-1
public void time() 
{ 
    String t="12AM-5PM";`` 

    StringTokenizer st=new StringTokenizer(t,"-"); 

    String initialTime=st.nextToken(); 
    String finalTime=st.nextToken(); 
    int t1=0; 
    int t2=0; 

    if(initialTime.contains("AM")) 
    { 
     t1=Integer.valueOf(initialTime.replace("AM","")); 
    } 
    else 
    { 
     t1=Integer.valueOf(initialTime.replace("PM",""))+12; 

    } 


    if(finalTime.contains("AM")) 
    { 
     t2=Integer.valueOf(finalTime.replace("AM","")); 
    } 
    else 
    { 
     t2=Integer.valueOf(finalTime.replace("PM",""))+12; 
    } 

    System.out.println(t2-t1); 
} 
+0

Вы используете только первый токен 'initialTime' и забыли, что 12PM = 12:00, а не 24:00 –

+0

oops :) @SashaSalauyou –

Смежные вопросы