URI Problem 1061 Solution in Java

Problem Details Link

Solution:



import java.util.Scanner;

import java.util.Scanner;

/**
 * @Author : Muhammad Harun-Or-Roshid
 * @E-mail : md.parvez28@gmail.com
 * @Date : Oct 14, 2016
 * @Time : 7:32:12 PM
 */
public class Uri1061 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s_day, s_time, e_day, e_time;
        String s_split_time[], e_split_time[];
        int start_day, end_day, start_hour, end_hour, start_minute, end_minute,
                start_second, end_second, day = 0, hour = 0, minute = 0, second = 0;

        s_day = sc.nextLine();
        s_time = sc.nextLine();
        e_day = sc.nextLine();
        e_time = sc.nextLine();

        start_day = toInt(s_day);
        end_day = toInt(e_day);

        s_split_time = s_time.split(" : ");
        e_split_time = e_time.split(" : ");

        start_hour = stoInt(s_split_time[0]);
        start_minute = stoInt(s_split_time[1]);
        start_second = stoInt(s_split_time[2]);

        end_hour = stoInt(e_split_time[0]);
        end_minute = stoInt(e_split_time[1]);
        end_second = stoInt(e_split_time[2]);

        //second:
        if (end_second >= start_second) {
            second = end_second - start_second;
        } else {
            second = end_second - start_second + 60;
            end_minute = end_minute - 1;
        }
        //minute:
        if (end_minute >= start_minute) {
            minute = end_minute - start_minute;
        } else {
            minute = end_minute - start_minute + 60;
            end_hour = end_hour - 1;
        }
        //hour:
        if (end_hour >= start_hour) {
            hour = end_hour - start_hour;
        } else {
            hour = end_hour - start_hour + 24;
            end_day = end_day - 1;
        }
        //day:
        if (end_day >= start_day) {
            day = end_day - start_day;
        }
        System.out.println(day + " dia(s)");
        System.out.println(hour + " hora(s)");
        System.out.println(minute + " minuto(s)");
        System.out.println(second + " segundo(s)");
    }

    private static Integer toInt(String start_day) {
        return Integer.valueOf(start_day.substring(4).trim());
    }

    private static Integer stoInt(String start_day) {
        return Integer.valueOf(start_day.trim());
    }
}

Comments

  1. I did this code . But when I submit URI , it's shown 5 % error. Please find me my error.
    import java.util.Scanner;

    import static java.lang.Integer.parseInt;

    public class UrI1061 {
    public static void main(String[] args) {

    int day =0;
    int min=0;
    int sec=0;
    int hour=0;
    String begdia, s_time, enddia, e_time;
    String s_split_time[], e_split_time[];
    int start_day, end_day, end_hour=0, end_minute=0,beghora, endhora, begminuto, endminuto,
    begsegundo, endsegundo ;
    Scanner sc=new Scanner(System.in);

    begdia = sc.nextLine();
    s_time = sc.nextLine();
    enddia = sc.nextLine();
    e_time = sc.nextLine();

    start_day = Integer.valueOf(begdia.substring(4).trim());
    end_day = Integer.valueOf(enddia.substring(4).trim());

    s_split_time = s_time.split(" : ");
    e_split_time = e_time.split(" : ");

    beghora = parseInt(s_split_time[0]);
    begminuto = parseInt(s_split_time[1]);
    begsegundo = parseInt(s_split_time[2]);

    endhora = parseInt(e_split_time[0]);
    endminuto = parseInt(e_split_time[1]);
    endsegundo = parseInt(e_split_time[2]);


    if(endsegundo>begsegundo){
    int segundo1 = endsegundo-begsegundo;

    }
    else if(endsegundobegminuto){
    int minuto1=begminuto+1;
    int minuto2=minuto1+endminuto;
    min=minuto1-minuto2;

    }
    else if(endminutobegminuto){
    min =endminuto-begminuto;

    }
    else if(endminuto= beghora) {
    hour = endhora - beghora;
    // else if(endhora>beghora){
    // int hora4 =beghora+1;
    // int hora5 =endhora-hora4;
    // System.out.println(hora5);
    }

    if(end_day>=start_day){
    day= end_day-start_day;
    }
    System.out.println(day +" dia(s)");
    System.out.println(hour +" hora(s)");
    System.out.println(min + " minuto(s)");
    System.out.println(sec +" segundo(s)");
    }
    }

    ReplyDelete

Post a Comment

Popular posts from this blog

URI Problem 1094 Solution in Java

URI Problem 1099 Solution in Java

URI Problem 1012 Solution in Java