среда, 21 января 2015 г.

TIME

//MILITARY TIME//-формат 24:24:24
В ВТОРОСТЕПЕННОМ классе создаем прайват переменные час, минута, секунда
Создаем метод setTime(void- since its gonna return something) с переменными h m s
Далее задаем параметры переменным по схеме:
hour=(( переменная h>=0 и h<=24 ведь в сутках 24 часа) спрашиваем так ли это? - то h, если нет :0
и так для каждой переменной m и s;
создаем отдельный метод String(Для дисплея ) - since its gonna return a string toMilitary()без аргументов раз просто ретерн
и в теле пишем return String.format( //помни, FORMAT - требует две переменные) "%02d:%02d:%02d "//- это дисплей 1 в двух decimal points: 2 в двух decimal points: 3 в двух decimal points // , переменные hour, minute, second //раз эти переменным заданы значения методом выше, их можно указать и в стринг ретерне//

ВОЗВРАЩАЕМСЯ В МЭЙН КЛАСС
создаем объект для забора информации из класса туна tuna tuna= new tuna();
теперь можно сделать принтаут tunaObject(берем принтаут из туны ведь).toMilitary( так задано String в методе)
Если запустить программу сейчас- результат такой: 00:00:00
далее мы можем установить время таким образом
берем объект туна
tunaObject.setTime(13,25,8)
и принтаут этого теперь
System.out.println(tunaObject.toMilitary);
и теперь результат такой: 13:25:8

КОД:

public class tuna {
private int hour;
private int minute;
private int second;

public void setTime(int h, int m, int s){
hour =((h>=0 && h<=24) ? h:0);
minute=((m>=0 && m<=60) ? m:0);
second=((s>=0 && s<=60) ? s:0);
}
public String toMilitary(){
return String.format("%02d:%02d:%02d", hour, minute, second);
}
}
class apples {
public static void main(String[] args){
tuna tunaObject= new tuna();
System.out.println(tunaObject.toMilitary());
tunaObject.setTime(13,25,8);
System.out.println(tunaObject.toMilitary());
}

}
------------------------------------------------------------------------------------------------------------------------
//REGULAR TIME// формат 1:30 PM

За пример берем старый шаблон.
Для того, что б перевести время в формат AM/PM необходимо:
в class tuna создать метод String to"" в данном случае 
                    public String toNormal(){
этот метод будет возвращать String.format( раз в ПМ ЭМ только 1 цифра-, для часа пишем %d, для минут и секунд(два десимал) %02d: 
далее задаем условия часу 
(hour == нулю или ==12 ? 12:hour%12)
//то есть программа говорит: ок, если инпут времени 0 или 12, то пусть так и быть будет 12, если нет, то Devide it by 12 и выведи остаток.// то есть если 13, То выведи 1 ПМ, если 8, То выведи 8 ЭМ и тд.//
minute, second, (hour<12?"AM":"PM")) //спрашиваем часов то меньше чем 12? если да, То пиши ЭМ, если нет ПМ))- и тут главное не забывать про закрывание скобок- их много

return String.format("%d:%02d:%02d %s", (hour==0||hour==12)? 12:hour%12, minute, second, (hour<12? "AM":"PM"));
далее возвращаемся в мэйн класс
вызываем tunaObject и используем функцию setTime ( выставляем время
                 tunaObject.setTime(13,27,6);
и принтаут времени( здесь есть строчка с toMilitary для примера отображения времени)
System.out.println(tunaObject.toMilitary());
                  System.out.println(tunaObject.toNormal());


















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

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