package com.javarush.task.task01.task0133;
/*
Не думать о секундах…
*/
public class Solution {
public static void main(String[] args) {
System.out.println(getCountSecondsPassedInCurrentHour(3602));
}
public static int getCountSecondsPassedInCurrentHour(int seconds) {
int hour = 3600;
int remainder = seconds;
while(remainder > 3600)
{
remainder = remainder - hour;
}
return remainder;
}
}
Nik
20 уровень
Результат совпадает с правильным, но не проходит тестирование. В чем может быть причина?
Решен
Комментарии (15)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
JavaMan
17 января 2018, 15:40
В комментариях уже писали, решается одной строчкой используйте оператор %.
0
Арман Абуллин
24 января 2018, 12:10
Привет объясни что это % и почему использует его ведь написано деления
0
JavaMan
25 января 2018, 05:00
% остаток от деления, работает следующим образом, например 10%2 = 0. Так как 2 помещается в 10 пять раз остаток получился 0. 9%2=1 т.к. 2 помещается в 9 четыре раза, остаток получился 1. Таким образом мы делим 12345 секунд на 3600(чтобы отбросить все "полные" часы) и получаем остаток в секундах.
+1
Стас Пасинков Software Developer в Zipy Master
2 февраля 2018, 00:25полезный
оператор % возвращает то, что на картинке подписано словом "остаток"
+1
Стас Пасинков Software Developer в Zipy Master
2 февраля 2018, 00:31
хотя уже не актуально наверное)) пардон
0
Yulia
14 января 2018, 23:44
Я тоже пошла путем зачинщика этой темы, и тоже мимо.
Возможно в требованиях к заданию тогда сразу следует указать, что решать только получением остатка от деления...
Вычитание циклом же дает не менее верный результат.
0
Roman Pryshchepa Java Developer Expert
15 января 2018, 08:29
Если не ошибаюсь, то способ решения не имеет значения в этой задаче. У тебя не проходит правильно решение? Выкладывай его сюда, будем смотреть.
0
Yulia
16 января 2018, 15:14
Могу пока только так показать, тот вариант закрыт в комментарии.
Интересно разобраться, почему он не подходит. С виду рабочий. Возможно я просто чего-то не вижу.
0
Roman Pryshchepa Java Developer Expert
16 января 2018, 15:30
Проходит :)
0
Yulia
16 января 2018, 17:14
Когда откроется перепроходжение, я еще раз попробую и покажу что мне отвечает "ментор" )
Если, конечно, проверку не изменили.
Компиляцию оно проходит, это да.
0
Bohdan Barbaruk
22 декабря 2017, 12:12
public static int getCountSecondsPassedInCurrentHour(int seconds) {
int d = seconds/3600;
int getCountSecondsPassedInCurrentHour = seconds - d*3600;
Ввел Д чтобы округлить с помощью ИНТ к целым, далее чистая математика. НЕ знаю может и не правильно но задача прошла.
+2
Roman Pryshchepa Java Developer Expert
11 декабря 2017, 09:48
Если ты засунул 3600 в переменную, то почему дальше хардкодишь его:
while(remainder > 3600)
?
0
Sillian Java Developer в разработка СЭД
11 декабря 2017, 08:11
Зачем городить огород. В Java есть операция, позволяющая вернуть остаток от деления - все решается одной строчкой(для типа int) =)
0
Антон
10 декабря 2017, 02:21
Попробуй по переводить секунды и часы и обратно.
0
--------Master
9 декабря 2017, 13:22
Попробуй запустить со значением 7200
+1