Софтуерно Инженерство
Loading...
+ Нов въпрос
VladimirD avatar VladimirD 6 Точки

Java Fundamentals - Време + 15 минути

Доста време се мъчех, но не можех да реша задачата. Почнах да търся информация за нея във форума, уви не успях да намеря информация за програмата с Java затова реших да постна моето решение (да, след около час главоблъскане я решиш) просто, ако има хора като мен могат да ме попитат въпрос или да видят решението.

 

import java.util.Scanner;

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

        Scanner scanner = new Scanner(System.in);

        int hr = Integer.parseInt(scanner.nextLine());
        int mins = Integer.parseInt(scanner.nextLine());
        mins = mins +15;



        if (mins >= 60) {
            mins = mins - 60;
            hr = hr + 1;
        } if (hr >= 24){
        hr = hr - 24;
        }  if (mins < 10) {
            System.out.println(hr + ":0" + mins);
        } else {
            System.out.println(hr + ":" + mins);
        }

    }
}

 

Тагове:
1
Основи на програмирането 25/10/2017 02:11:26
fbinnzhivko avatar fbinnzhivko 1574 Точки

1.Давай линк към конкретната задаа в Judge.
2.Ползвай pastebin.com
3.Защо въпроса те е в категорията Java Fundamentals?
4.Примерно решение

1
25/10/2017 00:34:00
Nenka44 avatar Nenka44 2 Точки

Според мен малко по-вярното решение е:

package com;
import java.util.Scanner;
public class timePlus {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int hours = Integer.parseInt(scanner.nextLine());
        int minutes = Integer.parseInt(scanner.nextLine());
        minutes = minutes+15;
         if (minutes>=60){
             minutes -= 60;
             hours += 1;
             if (hours> 24);
             hours = hours % 24;
         }else if ( hours >=24){
                 hours -= 24;
         }else if (minutes<10){
             System.out.println(hours + ":0" + minutes);
        }
        System.out.println(hours + ":" +minutes);
        }
      }

 

И въпреки всичко пак смятам, че има какво още да се пипне. Ако зададем число за минутите по-голямо от 120 и за часове повече от 48  решението не е вярно.

0
dimaldim92 avatar dimaldim92 146 Точки

Ето и още един вариант :) Без последната else if конструкция и използване на printf за форматиране.

import java.util.Scanner;
public class timePlus {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int hours = Integer.parseInt(scanner.nextLine());
        int minutes = Integer.parseInt(scanner.nextLine());
        minutes = minutes+15;
         if (minutes>=60){
             minutes -= 60;
             hours += 1;
             if (hours> 24);
             hours = hours % 24;
         }else if ( hours >=24){
                 hours -= 24;
         }
        //System.out.println(hours + ":" +minutes);
        System.out.printf("%d:%02d", hours, minutes);
        }
      }

 

0
12/09/2018 11:48:08