Как узнать какой день недели это Java
Я хочу найти день недели в java без использования даты и других методов, которые делают это сами. Я могу найти разницу между двумя датами, но я не могу понять, как я могу найти, какой день недели для этой конкретной даты,
3 ответа
Если вы можете найти разницу между двумя днями, просто используйте оператор мод.
Например, если вы знаете, что day1 = Monday
и вы хотите узнать, какой это день после 701 дня, это Monday + 701 % 7 = Monday + 1 = Tuesday
,
Существуют формулы для определения дня недели, в который находится конкретный день:
http://en.wikipedia.org/wiki/Determination_of_the_day_of_the_week
Выбранный вами подход кажется чрезвычайно сложным и подверженным ошибкам.
Я предлагаю создать свой собственный класс с именем Дата.
Дата будет содержать месяц, день и год и будет знать, как вычесть или добавить дни.
Он также должен быть в состоянии определить, равен ли он до, или после другой даты.
Вы должны использовать массив целых чисел для представления количества дней в каждом месяце.
Этот массив может быть частным статическим полем вашего класса Date.
Затем вы можете создать экземпляр вашего класса, который представляет date2 и вычитать один день за один раз, пока он не станет равным date1.
Аналогичный подход можно использовать для определения дня недели, сравнивая введенные даты с базовой датой с известным днем недели.
Я уверен, что это то, что ваш инструктор предназначил для этого задания.
Это преподаст вам ценный урок:
Используйте преимущества объектов для использования инкапсуляции вместо использования нескольких операторов if.