From e8465adca31d8fbbfc9dea8f463fec274040ceff Mon Sep 17 00:00:00 2001
From: samuel turpin <samuel.turpin.etu>
Date: Wed, 21 Feb 2024 17:24:05 +0100
Subject: [PATCH] presque fini tp3 ex2

---
 .gitignore                  |   2 +-
 src/tp01/HighScore.java     |   2 +-
 src/tp03/UseLocalDate.class | Bin 0 -> 2486 bytes
 src/tp03/UseLocalDate.java  |  89 ++++++++++++++++++++++++++++++++++++
 4 files changed, 91 insertions(+), 2 deletions(-)
 create mode 100644 src/tp03/UseLocalDate.class
 create mode 100644 src/tp03/UseLocalDate.java

diff --git a/.gitignore b/.gitignore
index 69e5d41..d7ac743 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,3 @@
 bin/
 */*.class
-*/*.lib
\ No newline at end of file
+*/*.jar
\ No newline at end of file
diff --git a/src/tp01/HighScore.java b/src/tp01/HighScore.java
index 84a91d3..6f7873a 100644
--- a/src/tp01/HighScore.java
+++ b/src/tp01/HighScore.java
@@ -15,7 +15,7 @@ public class HighScore
 
     boolean ajout(Score newScore)
     {
-        for(int i = 0;i < top.length;i++)
+        for(int i = 0;i < top.length;)
         {
             if(top[i] != null)
             {
diff --git a/src/tp03/UseLocalDate.class b/src/tp03/UseLocalDate.class
new file mode 100644
index 0000000000000000000000000000000000000000..c9da901f9ce9c8337cf37adce6bc6c0bd99bab0d
GIT binary patch
literal 2486
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

literal 0
HcmV?d00001

diff --git a/src/tp03/UseLocalDate.java b/src/tp03/UseLocalDate.java
new file mode 100644
index 0000000..6e89bb0
--- /dev/null
+++ b/src/tp03/UseLocalDate.java
@@ -0,0 +1,89 @@
+package src.tp03;
+
+import java.time.Instant;
+import java.time.LocalDate;
+import java.time.ZoneId;
+import util.Keyboard;
+
+public class UseLocalDate
+{
+    public static String dateOfTheDay()
+    {
+        String str = LocalDate.ofInstant(Instant.now(), ZoneId.systemDefault()).toString();
+        return "Today’s date is " + str;
+    }
+
+    private static boolean nombreValide(int nombre, int nbMin, int nbMax)
+    {
+        if (nombre >= nbMin && nombre <= nbMax)
+        {
+            return true;
+        }
+        return false;
+    }
+
+    private static void whileB(int nbKey, int min, int max)
+    {
+        do
+        {
+            nbKey = Keyboard.readInt();
+        }while(!(nombreValide(nbKey, min, max)));
+    }
+
+    private static boolean bissextile(int year)
+    {
+        if(year % 4 == 0 && year >= 1582)
+        {
+            return true;
+        }
+        return false;
+    }
+
+    public static LocalDate inputDate()
+    {
+        int year = 2004, month = 11, day = 3;
+        do
+        {
+            System.out.println("Entrez une année supérieur ou égal à 1970 :");
+            year = Keyboard.readInt();
+        }while(!(nombreValide(year, 1970, Integer.MAX_VALUE)));
+
+        do
+        {
+            System.out.println("Entrez un mois entre 1 et 12 :");
+            month = Keyboard.readInt();
+        }while(!(nombreValide(month, 1, 12)));
+
+        do
+        {
+            System.out.println("Entrez un jour entre 1 et 31 (doit être correct en fonction du mois ou de l'an bissextile) :");
+            day = Keyboard.readInt();
+        }while(!(nombreValide(day, 1, 31)));
+        /*whileB(year, 1970, Integer.MAX_VALUE);
+        whileB(month, 1, 12);
+        whileB(day, 1, 31);*/
+
+        if(day == 29 && month == 2 && !bissextile(year))
+        {
+            System.out.println("Le 29 février " + year + " ! N'existe pas, veuillez entrer une année bissextile :");
+            do{
+                year = Keyboard.readInt();
+            }while(!bissextile(year) && !(nombreValide(year, 1970, Integer.MAX_VALUE)));
+        }
+        LocalDate data = LocalDate.of(year, month, day);
+        if(data.getMonth().maxLength() == )
+        {
+
+        }
+        return data;
+    }
+
+    public static void main(String[] args)
+    {
+        System.out.println(dateOfTheDay());
+        LocalDate date = inputDate();
+        System.out.println(date.getMonth());
+        System.out.println(date.getMonth().maxLength());
+        System.out.println(date.toString());
+    }
+}
-- 
GitLab