Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Java] Режим времени


Автор: turtles 5.9.2011, 12:14
Здравствуйте! Подскажите по задаче, что можно еще дописать по коду, как бы понял и написал код для задачи,(но не совсем понял суть задачи) нужно ли использовать оператор if, else или switch?

Задание:
На некотором предприятии инженер Петров создал устройство, на табло которого показывается количество секунд, оставшихся до конца рабочего дня. Когда рабочий день начинается ровно в 9 часов утра — табло отображает «28800» (т.е. остаётся 8 часов), когда времени 14:30 — на табло «9000» (т.е. остаётся два с половиной часа), а когда наступает 17 часов — на табло отображается «0» (т.е. рабочий день закончился).

Программист Иванов заметил, как страдают офисные сотрудницы — им неудобно оценивать остаток рабочего дня в секундах. Иванов вызвался помочь сотрудницам и написать программу, которая вместо секунд будет выводить на табло понятные фразы с информацией о том, сколько полных часов осталось до конца рабочего дня. Например: «осталось 7 часов», «осталось 4 часа», «остался 1 час», «осталось менее часа».

Итак, в переменную n должно записываться случайное (на время тестирования программы) целое число из [0;28800], далее оно должно выводиться на экран (для Петрова) и на следующей строке (для сотрудниц) должна выводиться фраза о количестве полных часов, содержащихся в n секундах.

Примеры работы программы:
23466
Осталось 6 часов
10644
Осталось 2 часа
5891
Остался 1 час
1249
Осталось менее часа

Код

public class Test {
    public static void main(String args []){
       final int value_sec = 28800;
        final int sec = 60;
         final int min = 60;
        int tablo_sec = (int) (Math.random()* value_sec);
        int tablo_hours = (tablo_sec / sec) / min;
        System.out.println(tablo_sec);
        System.out.println("Осталось " + tablo_hours + " часа");
    }
}


Добавлено через 1 минуту и 6 секунд
Дорогие форум чане только не обясуте меня пожалуйста может и для кого покажеться мой вопрос очень глупым мне просто нужен ваш совет по заданию как и что можно дописать и сделать по коду! 

Автор: jk1 5.9.2011, 13:11
Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 

Автор: turtles 5.9.2011, 14:04
Подскажите как еще дописать код чтоб например выводило так в зависимости от результата
Осталось ...... часов
Осталось .... часа
Остался ...... час
Осталось менее часа

а нет так например одно и тоже название
Осталось .... часа

а то у меня всегда при любом значение всегда выводит одно и тоже название 

Автор: LSD 5.9.2011, 14:47
Код

    private static String getHoursString(final int hour) {
        if (hour < 0 || hour > 23) {
            throw new IllegalArgumentException("Hours not in [0,23] - " + hour);
        }

        switch (hour) {
            case 1:
            case 21:
                return "час";

            case 2:
            case 3:
            case 4:
            case 22:
            case 23:
                return "часа";

            default:
                return "часов";
        }
    }

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)