So erstellen Sie eine Java-Kalenderzusammenfassung

Einführung

Ich habe einen Kalender in Java erstellt. Es ist so konzipiert, dass in diesem Jahr ein Kalender für ein Jahr ausgegeben wird.

Es ist zwei Monate her, seit ich angefangen habe, Programmieren zu lernen, und ich werde mir das Herz brechen, also habe ich beschlossen, mit dem Posten im Detail zu beginnen. Schau mit warmen Augen. Ich bin kurz davor, frustriert zu sein, bitte.

Inhaltsverzeichnis

  1. Was ich machen wollte
  2. Code zur Kalendererstellung
  3. Ausgabeergebnis
  4. Ergänzung

Was ich machen wollte

・ Erstellen eines Kalenders für ein Jahr ・ Passen Sie die Anzahl der Tage im Februar an, indem Sie das Jahr des Urinierens unterscheiden

Kalendererstellungscode

import java.time.LocalDate;
import java.time.Month;
import java.time.Year;
public class Calendar_test {


	/*************************
	 *Feld
	 *************************/

	//Array für Kalendermatrix
	public int[][] calendarMatrix;

	//Kalendermonat Jahr Monat
	private Year year;

	//Lokales Datum für den Monatsanfang
	LocalDate ld;

	/***********************
	 *Konstrukteur
	 ***********************/

	//Set dieses Jahr
	public Calendar_test() {
		this.setYear();
	}


	/***********************
	 *Methode
	 ***********************/

	//year setter
	private void setYear() {
		this.year = Year.now();
	}

	//Kehre dieses Jahr zurück
	private Year getYear() {
		return this.year;
	}

	//Der Beginn des angegebenen Monatssetzers
	private void setLd(int month) {
		this.ld = LocalDate.of(this.getYear().getValue(), month, 1);
	}

	//Getter am Anfang des angegebenen Monats
	private LocalDate getLd() {
		return this.ld;
	}


	//Extrahieren Sie die Länge des angegebenen Monats
	private int getMonthLength() {
		Month thisMonth = Month.from(getLd());
		return thisMonth.length(this.ld.isLeapYear());
	}

	//Holen Sie sich den ersten Tag des Monats
	private int getFirstDay() {
		return getLd().getDayOfWeek().getValue() - 1;		//Mond:0 Feuer:1 Wasser:2 ...
	}

	//Geben Sie die Anzahl der Tage in das Array eines jeden Monats ein
	public void calcFields() {

		int row = 0;
		int column = getFirstDay();

		for(int date = 1; date <= getMonthLength(); date++) {
			this.calendarMatrix[row][column] = date;
			if(column == 6) {
				row++;
				column = 0;
			} else {
				column++;
			}
		}
	}


	@Override
	public String toString() {

		//Builder zum Einbetten
		StringBuilder sb = new StringBuilder();

		//Formatspezifikation für dreistellige Anzeige
		final String FORMAT = "%3d";

		for (int n = 1; n <= 12; n++) {

			this.calendarMatrix = new int[6][7];
			this.setLd(n);

			calcFields();
			sb.append(getYear() + "Jahr" + n + "Mond");
			sb.append("\r\n");

			//Zum Einsetzen drehen/6 mal vertikal
			for (int i = 0; i < calendarMatrix.length; i++) {

				//7 mal horizontal
				for (int j = 0; j < calendarMatrix[i].length; j++) {
					int date = calendarMatrix[i][j];

					//Füllen Sie leere Zeichen mit den Standardwerten aus
					if (date == 0) {
						sb.append("   ");

					//Geben Sie die Zahlen ein, indem Sie das Format angeben
					} else {
						sb.append(String.format(FORMAT,date));
					}
				}

				//Pausen in einer Woche
				sb.append("\r\n");
			}

			//Pause im Januar
			sb.append("\r\n");

		}

			return sb.toString();
	}





	public static void main(String[] args) {

		System.out.println(new Calendar_test());
	}

}

Ausgabeergebnis

Januar 2020
        1  2  3  4  5
  6  7  8  9 10 11 12
 13 14 15 16 17 18 19
 20 21 22 23 24 25 26
 27 28 29 30 31      
                     

Februar 2020
                 1  2
  3  4  5  6  7  8  9
 10 11 12 13 14 15 16
 17 18 19 20 21 22 23
 24 25 26 27 28 29   
                     

März 2020
                    1
  2  3  4  5  6  7  8
  9 10 11 12 13 14 15
 16 17 18 19 20 21 22
 23 24 25 26 27 28 29
 30 31               

April 2020
        1  2  3  4  5
  6  7  8  9 10 11 12
 13 14 15 16 17 18 19
 20 21 22 23 24 25 26
 27 28 29 30         
                     

Mai 2020
              1  2  3
  4  5  6  7  8  9 10
 11 12 13 14 15 16 17
 18 19 20 21 22 23 24
 25 26 27 28 29 30 31
                     

Juni 2020
  1  2  3  4  5  6  7
  8  9 10 11 12 13 14
 15 16 17 18 19 20 21
 22 23 24 25 26 27 28
 29 30               
                     

Juli 2020
        1  2  3  4  5
  6  7  8  9 10 11 12
 13 14 15 16 17 18 19
 20 21 22 23 24 25 26
 27 28 29 30 31      
                     

August 2020
                 1  2
  3  4  5  6  7  8  9
 10 11 12 13 14 15 16
 17 18 19 20 21 22 23
 24 25 26 27 28 29 30
 31                  

September 2020
     1  2  3  4  5  6
  7  8  9 10 11 12 13
 14 15 16 17 18 19 20
 21 22 23 24 25 26 27
 28 29 30            
                     

Oktober 2020
           1  2  3  4
  5  6  7  8  9 10 11
 12 13 14 15 16 17 18
 19 20 21 22 23 24 25
 26 27 28 29 30 31   
                     

November 2020
                    1
  2  3  4  5  6  7  8
  9 10 11 12 13 14 15
 16 17 18 19 20 21 22
 23 24 25 26 27 28 29
 30                  

Dezember 2020
     1  2  3  4  5  6
  7  8  9 10 11 12 13
 14 15 16 17 18 19 20
 21 22 23 24 25 26 27
 28 29 30 31         
                     

Ergänzung

Ich denke, ich bin eine Person in der sogenannten Schwächekategorie. Ich habe auch keinen Twitter-Account.

Als ich jedoch anfing, Programmieren zu studieren, wurde mir klar, wie großartig Computer sind. Ich habe erst zwei Monate studiert, möchte aber mein Wissen vertiefen und hier teilen. Bitte sei nett zu mir.

Recommended Posts

So erstellen Sie eine Java-Kalenderzusammenfassung
So erstellen Sie einen Java-Container
So erstellen Sie ein Java-Array
Wie erstelle ich einen Discord Bot (Java)
Java - So erstellen Sie JTable
So erstellen Sie einen JDBC-Treiber
So erstellen Sie einen Begrüßungsbildschirm
So erstellen Sie ein Jenkins-Plug-In
Wie erstelle ich ein Maven-Projekt?
[java] Zusammenfassung des Umgangs mit char
[Einführung in Java] So schreiben Sie ein Java-Programm
[Java] [Maven3] Zusammenfassung der Verwendung von Maven3
[Java] Verwendung der Calendar-Klasse
Wie man einen revolutionären Diamanten mit Java für Aussage macht wwww
Wie man ein schattiertes Glas macht
[java] Zusammenfassung des Umgangs mit Zeichenketten
So zeigen Sie eine Webseite in Java an
[Java] Zusammenfassung, wie Lambda-Ausdrücke weggelassen werden
Ich habe Java gemacht, um (a == 1 && a == 2 && a == 3) immer wahr zu machen
Ich wollte (a == 1 && a == 2 && a == 3) in Java wahr machen
So konvertieren Sie einen Soliditätsvertrag in eine Java-Vertragsklasse
So erstellen Sie eine leichte JRE für den Vertrieb
[Java] Wie man mehrere for-Schleifen einzeln macht
[Java] Verwendung der Kalenderklasse und der Datumsklasse
So erstellen Sie eine App mit einem Plug-In-Mechanismus [C # und Java]
So erstellen Sie eine Java-Umgebung in nur 3 Sekunden
So senken Sie die Java-Version
[Java] Verwendung von Map
So deinstallieren Sie Java 8 (Mac)
So springen Sie von Eclipse Java zu einer SQL-Datei
Verwendung von Java Optional
java: Wie schreibe ich eine generische Typliste? [Hinweis]
[Java] Wie man aus Janken rauskommt (entspricht Paiza Rang A)
So führen Sie einen Java-Komponententest durch (JUnit & Mockito & PowerMock)
So minimieren Sie Java-Images
Wie schreibe ich einen Java-Kommentar
Wie hinterlasse ich einen Kommentar?
So funktioniert JavaScript auf einer bestimmten Seite
Verwendung der Java-Klasse
So erstellen Sie einen Daten-URI (base64) in Java
[Java] Verwendung von removeAll ()
[Java] So zeigen Sie Wingdings an
[Java] So erhalten Sie eine Anfrage per HTTP-Kommunikation
Ich habe versucht, eine Anmeldefunktion mit Java zu erstellen
Verwendung von Java Map
[Java] Mach es konstant
[Java] Wie man Aufgaben regelmäßig ausführt
So legen Sie Java-Konstanten fest
[Java] So schneiden Sie eine Zeichenfolge zeichenweise aus
Zusammenfassung der Java-Kommunikations-API (1) Verwendung von Socket
[Java] So löschen Sie ein bestimmtes Zeichen aus einer Zeichenfolge
Zusammenfassung der Java-Kommunikations-API (3) Verwendung von SocketChannel
So konvertieren Sie A in a und a in A mit logischem Produkt und Summe in Java
So konvertieren Sie eine Datei in ein Byte-Array in Java