У меня есть это задание в конце месяца, и я уже сделан на полпути. Мы должны были использовать конгруэнцию Целлера, чтобы рассчитать день недели, когда 1-й приземлился. С этого момента (и учитывая високосные годы) вы должны распечатать календарь соответствующего года с использованием циклов. Учитель сказал, что это должна быть очень короткая программа, и мы не должны пытаться переборщить логику программы (в основном, не используйте кучу if else и loops за каждый месяц). У меня уже есть математические расчеты и високосный год часть вниз, но я не могу обернуть мою голову вокруг, как сделать это для работы петли по многим причинам:Java Использование цикла for для печати календаря (логическая справка)
- Как бы я идти о факторинге в непечатаемых за каждый месяц? Как и сколько вложенных циклов мне понадобится?
- Должен ли я писать разные циклы для Високосных лет, месяцев с 31 днями и месяцами с 30 днями и т. Д. Или все это можно обрабатывать с помощью 1 гигантской вложенной петли?
Например, я только начал писать от для цикла просто чтобы посмотреть, смогу ли я распечатать типичный календарь 31 дня без специального форматирования (непечатаемых, названия месяца, дня и т.д.). Здесь был мой первый тест при использовании для цикла:
for(int i = 1; i < 31; i++)
{
for(int j = 0; j < 7; j++)
{
System.out.print(i + "\t");
i++;
if(j == 6){
i--;}
if(i > 31)
{
break;
}
}
System.out.print("\n");
}
Что логику, используя его для нескольких месяцев и непечатаемых. Я приветствую всю помощь, но, пожалуйста, НЕ ДАЙТЕ МНЕ ИСТОЧНИК КОД. Я хочу, чтобы это было сделано с кодом, который я написал, и, как я уже сказал, это тоже задание, и я не буду учиться копированию и вставке кода. Просто бросьте мне кость о логике, которую мне нужно использовать. Я могу работать во всех других условностях для особых случаев. Спасибо, парни.
+1 для поиска помощи и подсказок и желаний удовлетворения в желании завершить его самостоятельно! – MadProgrammer