понедельник, 30 сентября 2013 г.

Интересная задачка

      На некотором предприятии инженер Петров создал устройство, на табло которого показывается количество секунд, оставшихся до конца рабочего дня. Когда рабочий день начинается ровно в 9 часов утра — табло отображает «28800» (т.е. остаётся 8 часов), когда времени 14:30 — на табло «9000» (т.е. остаётся два с половиной часа), а когда наступает 17 часов — на табло отображается «0» (т.е. рабочий день закончился).
     Программист Иванов заметил, как страдают офисные сотрудницы — им неудобно оценивать остаток рабочего дня в секундах. Иванов вызвался помочь сотрудницам и написать программу, которая вместо секунд будет выводить на табло понятные фразы с информацией о том, сколько полных часов осталось до конца рабочего дня. Например: «осталось 7 часов», «осталось 4 часа», «остался 1 час», «осталось менее часа».
   Итак, в переменную n должно записываться случайное (на время тестирования программы) целое число из [0;28800], далее оно должно выводиться на экран (для Петрова) и на следующей строке (для сотрудниц) должна выводиться фраза о количестве полных часов, содержащихся в n секундах.
1. Импортируем класс Random, с помощью методов которого мы будем генерировать число из заданного диапазона;
2. Переменной b присвоим значение оставшегося времени в полных часах;
3. При помощи оператора Switch мы зададим условия вывода информации, учитывая правила грамматики русского языка;

import java.util.*;
public class Zadachi{
    public static void main(String[] args){
        Random rnd=new Random();
        int a= rnd.nextInt(28800), b=a/60/60;
        System.out.println("Секунд осталось "+a);
        switch(b){
            case 0:
                System.out.println("До конца рабочего дня осталось меньше часа");
                break;
            case 1:
                System.out.println("До конца рабочего дня остался "+b+" час");
                break;
            case 2:
            case 3:
            case 4:
                System.out.println("До конца рабочего дня осталось "+b+" часа");
                break;
            default:
                System.out.println("До конца рабочего дня осталось "+b+ " часов");
        }
    }
}

Комментариев нет:

Отправить комментарий