Как узнать какой день недели это 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.

Другие вопросы по тегам