Охрана труда:
нормативно-правовые основы и особенности организации
Обучение по оказанию первой помощи пострадавшим
Аккредитация Минтруда (№ 10348)
Подготовьтесь к внеочередной проверке знаний по охране труда и оказанию первой помощи.
Допуск сотрудника к работе без обучения или нарушение порядка его проведения
грозит организации штрафом до 130 000 ₽ (ч. 3 статьи 5.27.1 КоАП РФ).
Повышение квалификации

Свидетельство о регистрации
СМИ: ЭЛ № ФС 77-58841
от 28.07.2014

Почему стоит размещать разработки у нас?
  • Бесплатное свидетельство – подтверждайте авторство без лишних затрат.
  • Доверие профессионалов – нас выбирают тысячи педагогов и экспертов.
  • Подходит для аттестации – дополнительные баллы и документальное подтверждение вашей работы.
Свидетельство о публикации
в СМИ
свидетельство о публикации в СМИ
Дождитесь публикации материала и скачайте свидетельство о публикации в СМИ бесплатно.
Диплом за инновационную
профессиональную
деятельность
Диплом за инновационную профессиональную деятельность
Опубликует не менее 15 материалов в методической библиотеке портала и скачайте документ бесплатно.
26.03.2016

Работа с классом даты в Java (с проверкой корректности)

Трофимов Виктор Геннадьевич
учитель информатики
Тексты класса на Java для работы с датой

Содержимое разработки

ФИО автора: Трофимов Виктор Геннадьевич

Место работы: ГКООУ санаторная школа-интернат №28 г. Ростова-на-Дону

Должность: учитель информатики и ИКТ

Работа с классом даты на Java
(с проверкой дат и високосного года)

Описание: создан класс для хранения даты (DateThree), в DateThreeTest можно задать дату, которая будет проверена внутри класса и вернёт результат (или сообщения об ошибке)

ФайлDateThree.java:

public class DateThree {

private int day = 1;

private int month = 1;

private int year = 1000;

private boolean correctData(int day, int month) {

boolean correct = true;

byte maxDay = 31;

this.month = month;

if (month < 1) {

System.out.println("Некорректный ввод. Порядковый номер месяца не может быть меньше 1.");

this.month = 1;

correct = false;

}

if (month > 12) {

System.out.println("Некорректный ввод. Порядковый номер месяца не может быть больше 12.");

this.month = 12;

correct = false;

}

switch(this.month) {

case 1: maxDay = 31; break;

case 2: if (getYear() % 4 == 0 && getYear() % 100 != 0 || getYear() % 400 == 0) maxDay = 29;

else maxDay = 28; break;

case 3: maxDay = 31; break;

case 4: maxDay = 30; break;

case 5: maxDay = 31; break;

case 6: maxDay = 31; break;

case 7: maxDay = 30; break;

case 8: maxDay = 31; break;

case 9: maxDay = 30; break;

case 10: maxDay = 31; break;

case 11: maxDay = 30; break;

case 12: maxDay = 31; break;

}

if (day > maxDay) {

System.out.println("Некорректный ввод числа, в указанном месяце не может быть больше " + maxDay + " дня.");

this.day = maxDay;

correct = false;

}

if (day < 1) {

System.out.println("Некорректный ввод числа; число не может быть меньше 1.");

this.day = 1;

correct = false;

}

return correct;

}

public void setDay(int day) {

if (correctData(day, this.month))

this.day = day;

}

public void setMonth(int month) {

if (correctData(this.day, month))

this.month = month;

}

public void setYear(int year) {

if (year < 1000 || year > 10000) {

System.out.println("Год вне границ указанного диапазона.");

if (year < 1000) year = 1000;

if (year > 10000) year = 10000;

}

this.year = year;

}

public void setData(int day, int month, int year) {

setYear(year);

setMonth(month);

setDay(day);

}

public int getDay(){

return this.day;

}

public int getMonth(){

return this.month;

}

public int getYear(){

return this.year;

}

public void displayDate() {

System.out.println(getDay() + "." + getMonth() + "." + getYear());

}

}

Файл DateThreeTest.java:

public class DateThreeTest {

public static void main(String args[]){

DateThree date = new DateThree();

date.setDay(31);

date.setMonth(2);

date.setYear(56);

System.out.println(date.getDay() + "." + date.getMonth() + "." + date.getYear());

date.setData(0, 0, 0); // Некорректно, устанавливаются значения по-умолчанию: 1.1.1000

date.displayDate();

date.setData(28, 2, 1670); // Корректно

date.displayDate();

date.setData(29, 2, 2015); // Некорректно

date.displayDate();

date.setData(29, 2, 2016); // Корректно

date.displayDate();

} // end main

} // end class

Адрес публикации: https://www.prodlenka.org/metodicheskie-razrabotki/195206-rabota-s-klassom-daty-v-java-s-proverkoj-korr

Свидетельство участника экспертной комиссии
Рецензия на методическую разработку
Опубликуйте материал и закажите рецензию на методическую разработку.
Также вас может заинтересовать
Свидетельство участника экспертной комиссии
Свидетельство участника экспертной комиссии
Оставляйте комментарии к работам коллег и получите документ
БЕСПЛАТНО!
У вас недостаточно прав для добавления комментариев.

Чтобы оставлять комментарии, вам необходимо авторизоваться на сайте. Если у вас еще нет учетной записи на нашем сайте, предлагаем зарегистрироваться. Это займет не более 5 минут.

 

Для скачивания материалов с сайта необходимо авторизоваться на сайте (войти под своим логином и паролем)

Если Вы не регистрировались ранее, Вы можете зарегистрироваться.
После авторизации/регистрации на сайте Вы сможете скачивать необходимый в работе материал.

Рекомендуем Вам курсы повышения квалификации и переподготовки
Курсы переподготовки