Loading...
radoslav.venchev avatar radoslav.venchev 2 Точки

Task: Time + 15

Ако някой има изграден подход за решението на тази задача, моля нека помогне...

- като се вземат входящите стойности на час и минути, после какво трябва да се направи за да се изведат по даденото условие по долу?

 

Да се напише програма, която чете час и минути от 24-часово денонощие, въведени от потребителя и изчислява колко ще е часът след 15 минути. Резултатът да се отпечата във формат часове:минути. Часовете винаги са между 0 и 23, а минутите винаги са между 0 и 59. Часовете се изписват с една или две цифри. Минутите се изписват винаги с по две цифри, с водеща нула, когато е необходимо. 

 

Ако имате идеи, моля помогнете...

 

Благодаря предварително.

Тагове:
0
Programming Basics with Java
ValentinTyanov avatar ValentinTyanov 20 Точки
Best Answer

Ето подходът, който ползвах аз.

 

import java.util.Scanner;

public class Time_15Mins {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int hours = Integer.parseInt(scanner.nextLine());
        int minutes = Integer.parseInt(scanner.nextLine());

        int totalMinutes = hours * 60 + minutes + 15;

        hours = totalMinutes / 60;
        minutes  = totalMinutes % 60;

        if (hours >23){
            hours = 0;
        }
        if (minutes < 10){
            System.out.printf("%d:0%d", hours, minutes);
        } else {
            System.out.printf("%d:%d", hours, minutes);
        }
    }
}

 

Общо взето, вкарваш си променливите, които ще се въведат от конзолата. След това минутите делиш на 60  с / , за да се получи цяло число за часове, а после минутите делиш на 60 с %, за да остане само остатъка, който реално са минутите.

После ако часовете са над 23  ги приравняваш на 0, понеже единствения вариант да е над 23 часът е с добавените 15 минути да е станало след полунощ, т.е часът е бил зададен от 0 до 23 и в последствие може да е станало след полунощ след добавените 15 минути , например ако е било 23:50.

След това, ако минутите са от 0 до 9 принтира с една нула пред минутите, за да изпише например 23:08, а не 23:8.

Ако не, просто изпринтира числата, както са.

Надявам се да съм помогнал  :)

0
radoslav.venchev avatar radoslav.venchev 2 Точки

  Наистина много ти благодаря!

 

0
ValentinTyanov avatar ValentinTyanov 20 Точки

Няма защо, лека вечер!

0
mark79 avatar mark79 639 Точки

Здравей,

може да оптимизираш изхода по следния начин на един ред и без проверка дали са по-малко от 10, а само с форматиране.

System.out.printf("%d:%02d", hours, minutes);

Поздрави :)

0
s.borisov avatar s.borisov 0 Точки

Ето и моя:

import java.util.Scanner;

public class TimePlus15Minutes {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int hour = Integer.parseInt(scanner.nextLine());
        int minutes = Integer.parseInt(scanner.nextLine());
        int minPlus15 = minutes + 15;
        int hourTominutes = hour * 60;
        int time = hourTominutes + minPlus15;
        int newhour = time / 60;
        int newmin = time % 60;
        if (newhour < 24) {
            if (newmin < 10) {
                System.out.printf("%d:0%d", newhour, newmin);
            } else {
                System.out.printf("%d:%d", newhour, newmin);
            }
        } else {
            if (newmin < 10) {
                System.out.printf("0:0%d", newmin);
            } else {
                System.out.printf("0:%d", newmin);
            }
        }
    }
}
0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.