From fa9955026f65cc00758176af86a52b43c67f4498 Mon Sep 17 00:00:00 2001
From: "vincent.steinman" <vincent.steinmann@etu.hesge.ch>
Date: Tue, 18 Oct 2022 10:32:03 +0200
Subject: [PATCH] Finish work s1+

---
 tp/src/main/java/org/example/Main.java   | 175 +++++++++++++----------
 tp/target/classes/org/example/Main.class | Bin 5165 -> 5789 bytes
 2 files changed, 102 insertions(+), 73 deletions(-)

diff --git a/tp/src/main/java/org/example/Main.java b/tp/src/main/java/org/example/Main.java
index 19195df..c48e660 100644
--- a/tp/src/main/java/org/example/Main.java
+++ b/tp/src/main/java/org/example/Main.java
@@ -2,12 +2,13 @@ package org.example;
 import java.util.Scanner;
 
 public class Main {
-    static Person p1 = new Person("Doe", "John");
-    static String[] phone = {"0"};
-    static String[] social = {"S"};
-    static String[] emails = {"a"};
-    static Contact c1 = new Contact(p1, "jst", phone, emails, social, "j");
-    static Contact[] contactArray = {c1};
+//    static Person p1 = new Person("Doe", "John");
+//    static String[] phone = {"0"};
+//    static String[] social = {"S"};
+//    static String[] emails = {"a"};
+//    static Contact c1 = new Contact(p1, "jst", phone, emails, social, "j");
+//    static  Contact c2 = new Contact(p1,"u",phone, emails,social, "NONE");
+    static Contact[] contactArray = {};
     public static void main(String[] args) {
         while(true){
             System.out.println("");
@@ -33,13 +34,14 @@ public class Main {
                     Show();
                     break;
                 default:
-                    System.out.println("Please enter valid number");
+                    System.out.println("Please enter valid input");
                     break;
             }
         }
     }
     public static void Add(){
-        int size = contactArray.length;
+        int size_array = contactArray.length;
+        Contact[] newContactArray = new Contact[size_array + 1];
         System.out.println("Enter first names");
         Scanner myObj = new Scanner(System.in);
         String firstName = myObj.nextLine();
@@ -63,80 +65,105 @@ public class Main {
         String[] socialList = phone.split(" ");
 
         Contact c = new Contact(p, address, phoneList, emailList, socialList, job);
-        contactArray[size] = c;
+        System.arraycopy(contactArray,0,newContactArray, 0,size_array);
+        newContactArray[size_array] = c;
+        contactArray = newContactArray;
 
     }
     public static void Edit(){
-        System.out.println("Which contact?");
-        Scanner myObj = new Scanner(System.in);
-        String contactNb = myObj.nextLine();
-        if(TryNumber(contactNb)){
-            System.out.println("[0] Edit First names");
-            System.out.println("[1] Edit Last names");
-            System.out.println("[2] Edit Address");
-            System.out.println("[3] Edit Phones");
-            System.out.println("[4] Edit Emails");
-            System.out.println("[5] Edit Social");
-            System.out.println("[6] Edit Job");
-            String usrInput = myObj.nextLine();
+        int size_array = contactArray.length;
+        if(size_array == 0){
+            System.out.println("List is empty");
+        }
+        else{
+            System.out.println("Which contact?");
+            Scanner myObj = new Scanner(System.in);
+            String contactNb = myObj.nextLine();
+            if(TryNumber(contactNb)){
+                System.out.println("[0] Edit First names");
+                System.out.println("[1] Edit Last names");
+                System.out.println("[2] Edit Address");
+                System.out.println("[3] Edit Phones");
+                System.out.println("[4] Edit Emails");
+                System.out.println("[5] Edit Social");
+                System.out.println("[6] Edit Job");
+                String usrInput = myObj.nextLine();
 
-            switch (usrInput){
-                case "0":
-                    System.out.println("[0] Enter new first names");
-                    String editFirst = myObj.nextLine();
-                    contactArray[Integer.parseInt(contactNb)].EditFirstName(editFirst);
-                    break;
-                case "1":
-                    System.out.println("[0] Enter new last names");
-                    String editLast = myObj.nextLine();
-                    contactArray[Integer.parseInt(contactNb)].EditLastName(editLast);
-                    break;
-                case "2":
-                    System.out.println("[0] Enter new first address");
-                    String editAddr = myObj.nextLine();
-                    contactArray[Integer.parseInt(contactNb)].EditFirstName(editAddr);
-                    break;
-                case "3":
-                    System.out.println("[0] Enter new phone numbers (use / as separator)");
-                    String editPhone = myObj.nextLine();
-                    String[] editPhoneList = editPhone.split("/");
-                    contactArray[Integer.parseInt(contactNb)].EditPhone(editPhoneList);
-                    break;
-                case "4":
-                    System.out.println("[0] Enter new Emails (use / as separator)");
-                    String editEmail = myObj.nextLine();
-                    String[] editEmailList = editEmail.split("/");
-                    contactArray[Integer.parseInt(contactNb)].EditEmail(editEmailList);
-                    break;
-                case "5":
-                    System.out.println("[0] Enter new Socials (use / as separator)");
-                    String editSocial = myObj.nextLine();
-                    String[] editSocialList = editSocial.split("/");
-                    contactArray[Integer.parseInt(contactNb)].EditEmail(editSocialList);
-                    break;
-                case "6":
-                    System.out.println("[0] Enter new Job");
-                    String editJob = myObj.nextLine();
-                    contactArray[Integer.parseInt(contactNb)].EditLastName(editJob);
-                    break;
-                default:
-                    System.out.println("Please enter correct value");
-                    break;
+                switch (usrInput){
+                    case "0":
+                        System.out.println("Enter new first names");
+                        String editFirst = myObj.nextLine();
+                        contactArray[Integer.parseInt(contactNb)].EditFirstName(editFirst);
+                        break;
+                    case "1":
+                        System.out.println("Enter new last names");
+                        String editLast = myObj.nextLine();
+                        contactArray[Integer.parseInt(contactNb)].EditLastName(editLast);
+                        break;
+                    case "2":
+                        System.out.println("Enter new first address");
+                        String editAddr = myObj.nextLine();
+                        contactArray[Integer.parseInt(contactNb)].EditFirstName(editAddr);
+                        break;
+                    case "3":
+                        System.out.println("Enter new phone numbers (use / as separator)");
+                        String editPhone = myObj.nextLine();
+                        String[] editPhoneList = editPhone.split("/");
+                        contactArray[Integer.parseInt(contactNb)].EditPhone(editPhoneList);
+                        break;
+                    case "4":
+                        System.out.println("Enter new Emails (use / as separator)");
+                        String editEmail = myObj.nextLine();
+                        String[] editEmailList = editEmail.split("/");
+                        contactArray[Integer.parseInt(contactNb)].EditEmail(editEmailList);
+                        break;
+                    case "5":
+                        System.out.println("Enter new Socials (use / as separator)");
+                        String editSocial = myObj.nextLine();
+                        String[] editSocialList = editSocial.split("/");
+                        contactArray[Integer.parseInt(contactNb)].EditEmail(editSocialList);
+                        break;
+                    case "6":
+                        System.out.println("Enter new Job");
+                        String editJob = myObj.nextLine();
+                        contactArray[Integer.parseInt(contactNb)].EditLastName(editJob);
+                        break;
+                    default:
+                        System.out.println("Please enter correct value");
+                        break;
+                }
+            }
+            else {
+                System.out.println("Please enter valid input");
+                System.out.println("It must be a number between 0 and " + (size_array -1));
             }
-        }
-        else {
-            System.out.println("Please enter valid number");
         }
     }
     public static void Delete(){
-        Scanner myObj = new Scanner(System.in);
-        String usrInput = myObj.nextLine();
-        System.out.println("Which Contact?");
-        if(TryNumber(usrInput)){
-
+        int size_array = contactArray.length;
+        if(size_array == 0){
+            System.out.println("List is empty");
         }
         else{
-            System.out.println("Please enter valid number");
+            Contact[] newContactArray = new Contact[size_array -1];
+            System.out.println("Which Contact?");
+            Scanner myObj = new Scanner(System.in);
+            String usrInput = myObj.nextLine();
+            if(TryNumber(usrInput)){
+                for(int i = 0; i < size_array -1; i++){
+                    if(i >= Integer.parseInt(usrInput)){
+                        newContactArray[i] = contactArray[i+1];
+                    }
+                    else{
+                        newContactArray[i] = contactArray[i];
+                    }
+                }
+                contactArray = newContactArray;
+            }
+            else{
+                System.out.println("Please enter valid input");
+                System.out.println("It must be a number between 0 and " + (size_array -1));
+            }
         }
     }
     public static void Show(){
@@ -145,7 +172,9 @@ public class Main {
             System.out.println();
         }
     }
+    //Test if the value is a number or not and if it's withing the range of the array
     public static boolean TryNumber(String nb){
+        int size_array = contactArray.length;
         int nbInt = 0;
         try{
             nbInt = Integer.parseInt(nb);
@@ -153,6 +182,6 @@ public class Main {
         catch (NumberFormatException e){
 
         }
-        return (nbInt < contactArray.length);
+        return (nbInt < size_array);
     }
 }
\ No newline at end of file
diff --git a/tp/target/classes/org/example/Main.class b/tp/target/classes/org/example/Main.class
index c85a5a2fadb8dd33a5b7275e60c107969aa4c652..f1a65bacc03d7eae4f883748d81361de8ec72936 100644
GIT binary patch
delta 3882
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

delta 3311
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

-- 
GitLab