Comment créer un résumé de calendrier Java

introduction

J'ai créé un calendrier en Java. Il est conçu pour produire un calendrier pour un an cette année.

Cela fait deux mois que j'ai commencé à apprendre la programmation et je vais me briser le cœur, alors j'ai décidé de commencer à publier en détail. Regardez avec des yeux chaleureux. Je suis sur le point d'être frustré, s'il vous plaît.

table des matières

  1. Ce que je voulais faire
  2. Code de création du calendrier
  3. Résultat de sortie
  4. Supplément

Ce que je voulais faire

・ Création d'un calendrier pour un an ・ Ajustez le nombre de jours en février en distinguant l'année de la miction -Unifier le format des caractères avec 3 caractères (pour le rendre plus facile à voir) -Override de la méthode toString

Code de création de calendrier

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


	/*************************
	 *champ
	 *************************/

	//Tableau pour matrice de calendrier
	public int[][] calendarMatrix;

	//Mois civil année mois
	private Year year;

	//Date locale pour le début du mois
	LocalDate ld;

	/***********************
	 *constructeur
	 ***********************/

	//Définir cette année
	public Calendar_test() {
		this.setYear();
	}


	/***********************
	 *Méthode
	 ***********************/

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

	//Retour cette année
	private Year getYear() {
		return this.year;
	}

	//Le début du mois spécifié
	private void setLd(int month) {
		this.ld = LocalDate.of(this.getYear().getValue(), month, 1);
	}

	//Obtention au début du mois spécifié
	private LocalDate getLd() {
		return this.ld;
	}


	//Extraire la durée du mois spécifié
	private int getMonthLength() {
		Month thisMonth = Month.from(getLd());
		return thisMonth.length(this.ld.isLeapYear());
	}

	//Obtenez le premier jour du mois
	private int getFirstDay() {
		return getLd().getDayOfWeek().getValue() - 1;		//Mois:0 feu:1 eau:2 ...
	}

	//Mettre le nombre de jours dans le tableau de chaque mois
	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() {

		//Générateur pour l'intégration
		StringBuilder sb = new StringBuilder();

		//Spécification de format pour l'affichage à 3 chiffres
		final String FORMAT = "%3d";

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

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

			calcFields();
			sb.append(getYear() + "Année" + n + "Mois");
			sb.append("\r\n");

			//Tourner pour insérer/6 fois verticalement
			for (int i = 0; i < calendarMatrix.length; i++) {

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

					//Remplissez les caractères vides avec les valeurs par défaut
					if (date == 0) {
						sb.append("   ");

					//Entrez les nombres en spécifiant le format
					} else {
						sb.append(String.format(FORMAT,date));
					}
				}

				//Pause pauses dans une semaine
				sb.append("\r\n");
			}

			//Pause en janvier
			sb.append("\r\n");

		}

			return sb.toString();
	}





	public static void main(String[] args) {

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

}

Résultat de sortie

Janvier 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      
                     

Février 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   
                     

Mars 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               

Avril 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
                     

Juin 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               
                     

Juillet 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      
                     

Août 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                  

Septembre 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            
                     

Octobre 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   
                     

Novembre 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                  

Décembre 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         
                     

Supplément

Je pense que je suis une personne dans la catégorie de la soi-disant faiblesse. Je n'ai pas non plus de compte Twitter.

Cependant, lorsque j'ai commencé à étudier la programmation, j'ai réalisé à quel point les ordinateurs sont incroyables. Je n'étudie que depuis deux mois, mais j'aimerais approfondir mes connaissances et les partager ici. Soyez gentil avec moi.

Recommended Posts

Comment créer un résumé de calendrier Java
Comment créer un conteneur Java
Comment créer un tableau Java
Comment créer un robot Discord (Java)
Java - Comment créer JTable
Comment créer un pilote JDBC
Comment créer un écran de démarrage
Comment créer un plug-in Jenkins
Comment faire un projet Maven
[java] Résumé de la gestion des caractères
[Introduction à Java] Comment écrire un programme Java
[Java] [Maven3] Résumé de l'utilisation de Maven3
[Java] Comment utiliser la classe Calendar
Comment faire un diamant révolutionnaire en utilisant Java pour déclaration wwww
Comment faire un pot ombré
[java] Résumé de la gestion des chaînes de caractères
Comment afficher une page Web en Java
[Java] Résumé de la façon d'omettre les expressions lambda
Je l'ai fait en Java pour toujours rendre (a == 1 && a == 2 && a == 3) vrai
Je voulais que (a == 1 && a == 2 && a == 3) vrai en Java
Comment convertir un contrat de solidité en une classe de contrat Java
Comment créer un JRE léger pour la distribution
[Java] Comment rendre plusieurs boucles for uniques
[Java] Comment utiliser la classe Calendar et la classe Date
Comment créer une application avec un mécanisme de plug-in [C # et Java]
Comment créer un environnement Java en seulement 3 secondes
Comment abaisser la version java
[Java] Comment utiliser Map
Comment désinstaller Java 8 (Mac)
Comment passer d'Eclipse Java à un fichier SQL
Comment utiliser java Facultatif
java: Comment écrire une liste de types génériques [Note]
[Java] Comment sortir de Janken (équivalent à paiza rang A)
Comment faire un test unitaire Java (JUnit & Mockito & PowerMock)
Comment réduire les images Java
Comment rédiger un commentaire java
Comment laisser un commentaire
Comment faire fonctionner JavaScript sur une page spécifique
Comment utiliser la classe Java
Comment créer un URI de données (base64) en Java
[Java] Comment utiliser removeAll ()
[Java] Comment afficher les Wingdings
[Java] Comment obtenir une requête par communication HTTP
J'ai essayé de créer une fonction de connexion avec Java
Comment utiliser Java Map
[Java] Rendez-le constant
[Java] Comment exécuter des tâches régulièrement
Comment définir des constantes Java
[Java] Comment découper une chaîne de caractères caractère par caractère
Résumé de l'API de communication Java (1) Comment utiliser Socket
[Java] Comment effacer un caractère spécifique d'une chaîne de caractères
Résumé de l'API de communication Java (3) Comment utiliser SocketChannel
Comment convertir A en A et A en A en utilisant le produit logique et la somme en Java
Comment convertir un fichier en tableau d'octets en Java