Loading...
VladimirD avatar VladimirD 12 Точки

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
Programming Basics 25/10/2017 02:11:26
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 149 Точки

Ето и още един вариант :) Без последната 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
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.