[RUBY] Programm zum Ermitteln der Anzahl der Tage pro Monat einschließlich des Nebenjahres

【Überblick】

1. Schlussfolgerung </ b>

2. Programmieren </ b>

3. Entwicklungsumgebung </ b>

  1. Fazit

Erstellen Sie erst im Februar eine Methode, die dem bedingten Ausdruck mit einem Rest (%) von 4.100.400 entspricht, geben Sie das Datum ein und geben Sie das Datum aus </ b>!
2. Programmieren

def get_days_leap_year(year, month)
  each_month_days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] #---❶
  if month == 2
    if year % 4 == 0
      if year % 100 == 0 && year % 400 != 0 #---❷
        days = 28
      else
        days = 29
      end
    else
      days = 28 #---❸
    end
  else
    days = each_month_days[month - 1] #---❹
  end

  return days #---❺
end

puts "Bitte geben Sie das Jahr ein:"
year = gets.to_i
puts "Bitte geben Sie den Monat ein:"
month = gets.to_i #---❻

days = get_days(year, month)
puts "#{year}Jahr#{month}Der Mond#{days}Es gibt Tage" #---❼

❶: Hier wird die Anzahl der Tage von Januar bis Dezember in das Array eingegeben. Der 28. Februar ist der 28. Februar, außer in der Nebensaison. Wir werden 28 Tage oder 29 Tage nach der bedingten Formel auswählen, und wenn in der bedingten Formel nichts angewendet wird, sind es 28 Tage.

❷: Teilbar durch 4 = außerhalb des Jahres, teilbar durch 100 = nicht außerhalb des Jahres, 0 teilbar durch 400 = außerhalb des Jahres und so weiter. Ich habe bedingte Ausdrücke für "wenn Februar" und "wenn durch 4 teilbar" gemacht. Es ist leichter zu verstehen und ein bedingter Ausdruck wird nicht kompliziert, deshalb habe ich ihn unterteilt. Der Teil, der "durch 100 teilbar und nicht durch 400 teilbar" ist, wird im bedingten Ausdruck gemeinsam beschrieben. Wenn er anwendbar ist, beträgt er 28 Tage, und wenn er nicht anwendbar ist (= durch 400 teilbar), beträgt er 29 Tage. Wenn Sie das Jahr der Straftat bestimmen, wird es detailliert geschrieben, wenn Sie im Internet suchen, ob es sich um "4.100.400" handelt, daher werde ich es hier weglassen.

❸: Wenn es nicht durch 4 teilbar ist, ist es kein ruhiges Jahr. Codieren Sie daher auch für diese Bedingung ein 28-Tage-Programm.

❹: Da die Nummer bei "0" beginnt, die für das Array spezifisch ist, können Sie beim Abrufen des Arrays die Anzahl der Tage des entsprechenden Monats mit "Monat-1" für den Monat aufrufen, den Sie anrufen möchten. (Beispiel: Wenn es Januar ist, ist es der 31., also ist [1 (Montag) -1] [0] und jeder_Monatstag [0], sodass Sie 31 erhalten können.

❺: Die Methode get_days_leap_year ist eine Methode, die die Anzahl der Tage berechnen möchte, sodass der Rückgabewert Tage ist.

❻: Das "Jahr" und "Monat", die Sie eingeben möchten. Dies sind die formalen Argumente für die Methode get_days_leap_year.

❼: Das in ❻ verwendete Jahr und der Monat werden durch Ausdruck erweitert, und die Anzahl der Tage der Methode get_days_leap_year wird ebenfalls um # {Tage} erweitert.


3. Entwicklungsumgebung

Ruby 2.6.5
Rails 6.0.3.3
Visual Studio Code 1.49.2

Recommended Posts