From 71ff91f44d591991b6775fe7056687220327efc0 Mon Sep 17 00:00:00 2001
From: Paulo Lopes <lopespcmlf@gmail.com>
Date: Thu, 27 Jul 2023 21:33:32 +0000
Subject: [PATCH 01/16] Adicionei "OI"

---
 src/main/java/com/example/App.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/main/java/com/example/App.java b/src/main/java/com/example/App.java
index 9407ea49..a8b91d00 100644
--- a/src/main/java/com/example/App.java
+++ b/src/main/java/com/example/App.java
@@ -10,7 +10,8 @@ public class App {
     private static final String JDBC_URL = "jdbc:postgresql://localhost/postgres";
 
     public static void main(String[] args) {
-        new App();
+       // new App(); 
+       System.out.println("oi");
     }
 
     public App(){

From dcccc9088465794137deb5efc8bbdc3d31b40866 Mon Sep 17 00:00:00 2001
From: Paulo Lopes <lopespcmlf@gmail.com>
Date: Thu, 27 Jul 2023 22:38:47 +0000
Subject: [PATCH 02/16] Arrays

---
 src/main/java/AppArray.java        | 11 +++++++++++
 src/main/java/com/example/App.java |  1 +
 2 files changed, 12 insertions(+)
 create mode 100644 src/main/java/AppArray.java

diff --git a/src/main/java/AppArray.java b/src/main/java/AppArray.java
new file mode 100644
index 00000000..2c5503a1
--- /dev/null
+++ b/src/main/java/AppArray.java
@@ -0,0 +1,11 @@
+import java.util.Arrays;
+
+public class AppArray {
+    public static void main(String[] args) {
+        var  x=10;
+        int testearray[]= {10,30,40};
+
+        System.out.println(Arrays.toString(testearray));
+    }
+    
+}
diff --git a/src/main/java/com/example/App.java b/src/main/java/com/example/App.java
index a8b91d00..89a8a8f5 100644
--- a/src/main/java/com/example/App.java
+++ b/src/main/java/com/example/App.java
@@ -12,6 +12,7 @@ public class App {
     public static void main(String[] args) {
        // new App(); 
        System.out.println("oi");
+       System.out.println();
     }
 
     public App(){

From 371da9bce74cb90cba305bd1f522fa0c54e9f312 Mon Sep 17 00:00:00 2001
From: Paulo Lopes <lopespcmlf@gmail.com>
Date: Thu, 27 Jul 2023 22:47:41 +0000
Subject: [PATCH 03/16] Array 02

---
 src/main/java/{ => com/example}/AppArray.java | 1 +
 1 file changed, 1 insertion(+)
 rename src/main/java/{ => com/example}/AppArray.java (91%)

diff --git a/src/main/java/AppArray.java b/src/main/java/com/example/AppArray.java
similarity index 91%
rename from src/main/java/AppArray.java
rename to src/main/java/com/example/AppArray.java
index 2c5503a1..42d3c6ab 100644
--- a/src/main/java/AppArray.java
+++ b/src/main/java/com/example/AppArray.java
@@ -1,3 +1,4 @@
+package com.example;
 import java.util.Arrays;
 
 public class AppArray {

From 09b7fbda12cb2daf71ce6bc168f4f0ba20f60ff8 Mon Sep 17 00:00:00 2001
From: Paulo Lopes <lopespcmlf@gmail.com>
Date: Fri, 28 Jul 2023 12:41:26 +0000
Subject: [PATCH 04/16] Matriz

---
 src/main/java/com/example/AppArray.java | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/main/java/com/example/AppArray.java b/src/main/java/com/example/AppArray.java
index 42d3c6ab..54b9488e 100644
--- a/src/main/java/com/example/AppArray.java
+++ b/src/main/java/com/example/AppArray.java
@@ -5,8 +5,13 @@ public class AppArray {
     public static void main(String[] args) {
         var  x=10;
         int testearray[]= {10,30,40};
+        double matriz[][]={{1,2},{2,2}};
+        matriz[0]=new double[1];
+
+     //   System.out.println(Arrays.toString(testearray));
+        System.out.println(Arrays.toString(matriz[0]));
+        System.out.println(Arrays.toString(matriz[1]));
 
-        System.out.println(Arrays.toString(testearray));
     }
     
 }

From 2b72a1ed9a637d0e385db09803bbdd2f29a99481 Mon Sep 17 00:00:00 2001
From: Paulo Lopes <lopespcmlf@gmail.com>
Date: Fri, 28 Jul 2023 20:38:15 +0000
Subject: [PATCH 05/16] Classes

---
 src/main/java/com/example/AppClasses.java | 14 ++++++++++
 src/main/java/com/example/Clientes.java   | 31 +++++++++++++++++++++++
 2 files changed, 45 insertions(+)
 create mode 100644 src/main/java/com/example/AppClasses.java
 create mode 100644 src/main/java/com/example/Clientes.java

diff --git a/src/main/java/com/example/AppClasses.java b/src/main/java/com/example/AppClasses.java
new file mode 100644
index 00000000..8a8c1f89
--- /dev/null
+++ b/src/main/java/com/example/AppClasses.java
@@ -0,0 +1,14 @@
+package com.example;
+
+public class AppClasses {
+    public static void main(String[] args) {
+        Clientes clientes=new Clientes();
+        clientes.setRenda(10000);
+        clientes.setSexo('F');
+        clientes.setAnoNascimento(2020);
+        System.out.println(clientes.getRenda());
+        System.out.println(clientes.getSexo());
+        System.out.println(clientes.getAnoNascimento());
+    }
+    
+}
diff --git a/src/main/java/com/example/Clientes.java b/src/main/java/com/example/Clientes.java
new file mode 100644
index 00000000..3ccb58be
--- /dev/null
+++ b/src/main/java/com/example/Clientes.java
@@ -0,0 +1,31 @@
+package com.example;
+
+public class Clientes{
+    private double renda;
+    private char sexo;
+    private int anoNascimento;
+
+
+    public char getSexo() {
+        return sexo;
+    }
+    public void setSexo(char sexo) {
+        if(sexo=='M'||sexo=='F')
+            this.sexo = sexo;
+    }
+    public int getAnoNascimento() {
+        return anoNascimento;
+    }
+    public void setAnoNascimento(int anoNascimento) {
+        this.anoNascimento = anoNascimento;
+    }
+
+    public double getRenda() {
+        return renda;
+    }
+    public void setRenda(double renda) {
+        if(renda >= 0)
+            this.renda=renda;
+    }
+
+}
\ No newline at end of file

From 230d06f97a64a80dd713988f9a8f4438da36ccd5 Mon Sep 17 00:00:00 2001
From: Paulo Lopes <lopespcmlf@gmail.com>
Date: Sat, 29 Jul 2023 12:38:15 +0000
Subject: [PATCH 06/16] Scanner

---
 src/main/java/com/example/AppClasses.java | 24 +++++++++---
 src/main/java/com/example/AppScanner.java | 30 +++++++++++++++
 src/main/java/com/example/Clientes.java   | 46 +++++++++++++++++++++--
 3 files changed, 91 insertions(+), 9 deletions(-)
 create mode 100644 src/main/java/com/example/AppScanner.java

diff --git a/src/main/java/com/example/AppClasses.java b/src/main/java/com/example/AppClasses.java
index 8a8c1f89..d2379004 100644
--- a/src/main/java/com/example/AppClasses.java
+++ b/src/main/java/com/example/AppClasses.java
@@ -2,13 +2,27 @@
 
 public class AppClasses {
     public static void main(String[] args) {
-        Clientes clientes=new Clientes();
-        clientes.setRenda(10000);
+        Clientes cliente1=new Clientes("01234567P","     Paulo Cesar   ",10000,'M',1966);
+        Clientes cliente2=new Clientes(new String("01234567p"),"Lana",20000,'F',1983);
+     /*  clientes.setRenda(10000);
         clientes.setSexo('F');
         clientes.setAnoNascimento(2020);
-        System.out.println(clientes.getRenda());
-        System.out.println(clientes.getSexo());
-        System.out.println(clientes.getAnoNascimento());
+     */ 
+        System.out.println(cliente1.getCpf());
+        System.out.println(cliente1.getNome());
+        System.out.println(cliente1.getRenda());
+        System.out.println(cliente1.getSexo());
+        System.out.println(cliente1.getAnoNascimento());
+        System.out.println(cliente1.isEspecial());
+
+        if (cliente1.getCpf().equalsIgnoreCase(cliente2.getCpf()))
+            System.out.println("Os clientes tem o mesmo CPF");
+        else
+            System.out.println("Os clientes tem CPFs diferentes"); 
+        String[] vetor = cliente1.getNome().split(" ", 0);
+        for (byte i=0; i <= vetor.length -1;i++)
+            System.out.println( vetor[i]);  
+            
     }
     
 }
diff --git a/src/main/java/com/example/AppScanner.java b/src/main/java/com/example/AppScanner.java
new file mode 100644
index 00000000..6be2453d
--- /dev/null
+++ b/src/main/java/com/example/AppScanner.java
@@ -0,0 +1,30 @@
+package com.example;
+
+import java.util.Scanner;
+
+public class AppScanner {
+    public static void main(String[] args) {
+        Clientes cliente1=new Clientes("?","?",0,'?',1966);
+        Scanner scanner=new Scanner(System.in);
+        System.out.println("Digite o seu nome:");
+        cliente1.setNome(scanner.nextLine());
+        System.out.println("Digite o seu CPF:");
+        cliente1.setCpf(scanner.nextLine());
+        System.out.println("Digite o seu Salario:");
+        cliente1.setRenda(scanner.nextDouble());
+        scanner.nextLine();
+        System.out.println("Digite o seu sexo:");
+        cliente1.setSexo(scanner.nextLine().charAt(0));
+
+
+    
+        System.out.println(cliente1.getNome());
+         System.out.println(cliente1.getCpf());
+        System.out.println(cliente1.getRenda());
+        System.out.println(cliente1.getSexo());
+        System.out.println(cliente1.getAnoNascimento());
+        System.out.println(cliente1.isEspecial());
+     
+    }
+    
+}
diff --git a/src/main/java/com/example/Clientes.java b/src/main/java/com/example/Clientes.java
index 3ccb58be..97182455 100644
--- a/src/main/java/com/example/Clientes.java
+++ b/src/main/java/com/example/Clientes.java
@@ -1,11 +1,43 @@
 package com.example;
 
 public class Clientes{
+    private String cpf;
+    private String nome;
     private double renda;
     private char sexo;
     private int anoNascimento;
+    private boolean especial; 
 
-
+    public Clientes(){
+        double aleatorio= Math.random();
+        if(aleatorio >0.5)
+           setEspecial(true);
+        else
+            setEspecial(false);    
+    }
+    public Clientes(String cpf,String nome, double renda, char sexo, int anoNascimento){
+       this();
+       this.setCpf(cpf);
+       this.setNome(nome);
+       this.setRenda(renda);
+       this.setSexo(sexo);
+       this.setAnoNascimento(anoNascimento);
+    }
+    public String getCpf() {
+        return cpf;
+    }
+    public void setCpf(String cpf) {
+        this.cpf = cpf;
+    }
+    public String getNome() {
+        return nome;
+    }
+    public void setNome(String nome) {
+        if (!nome.isBlank())
+            this.nome = nome.toUpperCase().trim();
+        else
+            System.err.println("Insira um nome");    
+    }
     public char getSexo() {
         return sexo;
     }
@@ -19,13 +51,19 @@ public int getAnoNascimento() {
     public void setAnoNascimento(int anoNascimento) {
         this.anoNascimento = anoNascimento;
     }
-
     public double getRenda() {
         return renda;
     }
     public void setRenda(double renda) {
         if(renda >= 0)
             this.renda=renda;
+        else
+            System.err.println("A renda precisa ser maior que zero");    
     }
-
-}
\ No newline at end of file
+    public boolean isEspecial() {
+        return especial;
+    }
+    public void setEspecial(boolean especial) {
+        this.especial = especial;
+    }
+ }
\ No newline at end of file

From f8bbccee7b15d4b925f3b15c9b0a38f7bc113f69 Mon Sep 17 00:00:00 2001
From: Paulo Lopes <lopespcmlf@gmail.com>
Date: Sun, 30 Jul 2023 12:43:05 +0000
Subject: [PATCH 07/16] Eleitor

---
 src/main/java/AppEleitor.java                 | 22 ++++++++++++
 .../com/example/AppOperadoresRelacionais.java | 22 ++++++++++++
 src/main/java/com/example/AppScanner.java     |  2 +-
 src/main/java/com/example/Cidadao.java        | 34 +++++++++++++++++++
 4 files changed, 79 insertions(+), 1 deletion(-)
 create mode 100644 src/main/java/AppEleitor.java
 create mode 100644 src/main/java/com/example/AppOperadoresRelacionais.java
 create mode 100644 src/main/java/com/example/Cidadao.java

diff --git a/src/main/java/AppEleitor.java b/src/main/java/AppEleitor.java
new file mode 100644
index 00000000..c32d39f8
--- /dev/null
+++ b/src/main/java/AppEleitor.java
@@ -0,0 +1,22 @@
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.util.Scanner;
+
+import com.example.Cidadao;
+
+public class AppEleitor {
+    public static void main(String[] args) {
+            LocalDate dataNascimento;
+            Scanner scanner=new Scanner(System.in);
+            System.out.println("Entre com a data de nascimento do Eleitor: ");
+            String strdataNascimento = scanner.nextLine();
+            dataNascimento=LocalDate.parse(strdataNascimento, DateTimeFormatter.ofPattern("dd/MM/yyyy"));
+            Cidadao cidadao = new Cidadao();
+            cidadao.setDataNascimento(dataNascimento);
+            System.out.println(cidadao.getDataNascimento());
+            System.out.println(cidadao.Eleitor());
+            scanner.close();
+            
+            }
+           
+    }
diff --git a/src/main/java/com/example/AppOperadoresRelacionais.java b/src/main/java/com/example/AppOperadoresRelacionais.java
new file mode 100644
index 00000000..272e6d6a
--- /dev/null
+++ b/src/main/java/com/example/AppOperadoresRelacionais.java
@@ -0,0 +1,22 @@
+package com.example;
+public class AppOperadoresRelacionais {
+    public static void main(String[] args) {
+        var cliente1=new Clientes();
+        var cliente2=new Clientes();
+
+        cliente1.setRenda(12000);
+        cliente2.setRenda(12000);
+
+        if(cliente1.getRenda()>cliente2.getRenda()) {
+            System.out.println("O cliente 1 tem renda superior ao cliente 2");
+   
+        }
+        else if ((cliente1.getRenda()<cliente2.getRenda())) {
+            System.out.println("O cliente 1 tem renda inferior ao cliente 2");    
+        }
+        else {
+            System.out.println("As rendas de ambos os clientes sao iguais.");
+        }
+    
+}
+}
diff --git a/src/main/java/com/example/AppScanner.java b/src/main/java/com/example/AppScanner.java
index 6be2453d..b8edf8c3 100644
--- a/src/main/java/com/example/AppScanner.java
+++ b/src/main/java/com/example/AppScanner.java
@@ -19,7 +19,7 @@ public static void main(String[] args) {
 
     
         System.out.println(cliente1.getNome());
-         System.out.println(cliente1.getCpf());
+        System.out.println(cliente1.getCpf());
         System.out.println(cliente1.getRenda());
         System.out.println(cliente1.getSexo());
         System.out.println(cliente1.getAnoNascimento());
diff --git a/src/main/java/com/example/Cidadao.java b/src/main/java/com/example/Cidadao.java
new file mode 100644
index 00000000..f65ae79f
--- /dev/null
+++ b/src/main/java/com/example/Cidadao.java
@@ -0,0 +1,34 @@
+package com.example;
+
+import java.time.LocalDate;
+
+
+public class Cidadao {
+    private LocalDate dataNascimento;
+
+    public LocalDate getDataNascimento() {
+        return dataNascimento;
+    }
+
+    public void setDataNascimento(LocalDate dataNascimento) {
+        this.dataNascimento = dataNascimento;
+    }
+    public int Idade() {
+        return LocalDate.now().getYear() - getDataNascimento().getYear();
+    }
+    public String Eleitor() {
+        int idade = Idade();
+       
+        if (idade <16) {
+            return "Nao eh Eleitor ....!";
+        }    
+        else if ((idade>=16 && idade < 18)||(idade>70))    {
+            return "Eleitor facultativo....!";
+        }
+        else {
+            return "Eleitor obrigatorio ....!";
+        }
+
+        }
+    }
+

From bef769e037f5be4b8e6139ea025ff0d869196371 Mon Sep 17 00:00:00 2001
From: Paulo Lopes <lopespcmlf@gmail.com>
Date: Sun, 30 Jul 2023 15:44:59 +0000
Subject: [PATCH 08/16] Lista

---
 src/main/java/com/example/AppArray.java  |  4 +--
 src/main/java/com/example/AppListas.java | 36 ++++++++++++++++++++++++
 src/main/java/com/example/AppSet.java    | 35 +++++++++++++++++++++++
 src/main/java/com/example/Clientes.java  |  4 +++
 4 files changed, 77 insertions(+), 2 deletions(-)
 create mode 100644 src/main/java/com/example/AppListas.java
 create mode 100644 src/main/java/com/example/AppSet.java

diff --git a/src/main/java/com/example/AppArray.java b/src/main/java/com/example/AppArray.java
index 54b9488e..863f5caf 100644
--- a/src/main/java/com/example/AppArray.java
+++ b/src/main/java/com/example/AppArray.java
@@ -3,8 +3,8 @@
 
 public class AppArray {
     public static void main(String[] args) {
-        var  x=10;
-        int testearray[]= {10,30,40};
+  
+     //   int testearray[]= {10,30,40};
         double matriz[][]={{1,2},{2,2}};
         matriz[0]=new double[1];
 
diff --git a/src/main/java/com/example/AppListas.java b/src/main/java/com/example/AppListas.java
new file mode 100644
index 00000000..4e09b871
--- /dev/null
+++ b/src/main/java/com/example/AppListas.java
@@ -0,0 +1,36 @@
+package com.example;
+
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+
+public class AppListas {
+    public static void main(String[] args) {
+      Clientes[] clientes = new Clientes[5];
+      LinkedList<Clientes> listClientes = new LinkedList<>();
+        
+      
+
+      for (int i=0; i<5; i++) {
+        clientes[i]=new Clientes();
+        clientes[i].setNome("Paulo 0" + i);
+        listClientes.add(i, clientes[i]);
+      //  System.out.println(clientes[i].getNome());
+      }
+       // System.out.println(listClientes); 
+     //  listClientes.remove(listClientes.size()-1);
+     listClientes.removeFirst();
+       for (var cliente: listClientes) {
+        System.out.println(cliente); 
+       }
+
+
+
+
+
+      
+        
+    }
+
+}
diff --git a/src/main/java/com/example/AppSet.java b/src/main/java/com/example/AppSet.java
new file mode 100644
index 00000000..f603eb9d
--- /dev/null
+++ b/src/main/java/com/example/AppSet.java
@@ -0,0 +1,35 @@
+package com.example;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.*;
+
+public class AppSet {
+    public static void main(String[] args) {
+       // String[] vogais = {"e","i","o","u","a","b","c"};
+        Set<String> setVogais = new HashSet<>();
+              //  Set<String> setVogais = new TreeSet<>(Arrays.asList(vogais));
+     // Collections.addAll(setVogais,vogais);
+     setVogais.add("a");
+     setVogais.add("e");
+     setVogais.add("i");
+     setVogais.add("o");
+     setVogais.add("u");
+     setVogais.add("b");
+     setVogais.add("c");
+     String strArray[]= setVogais.toArray(new String[setVogais.size()-1]);
+    // Collections.sort(setVogais);
+
+
+     System.out.println(strArray);
+     System.out.println(Arrays.toString(strArray));
+
+     // Set to Streams
+     setVogais.stream().forEach(System.out::print);
+
+
+
+
+    }
+}
diff --git a/src/main/java/com/example/Clientes.java b/src/main/java/com/example/Clientes.java
index 97182455..2ecb2faf 100644
--- a/src/main/java/com/example/Clientes.java
+++ b/src/main/java/com/example/Clientes.java
@@ -66,4 +66,8 @@ public boolean isEspecial() {
     public void setEspecial(boolean especial) {
         this.especial = especial;
     }
+
+    public String toString() {
+        return "Nome= " + nome + "||CPF= " + cpf;
+    }
  }
\ No newline at end of file

From 1adfc5c93a5345a83f74fc8bea184fae5099867c Mon Sep 17 00:00:00 2001
From: Paulo Lopes <lopespcmlf@gmail.com>
Date: Sun, 30 Jul 2023 21:44:09 +0000
Subject: [PATCH 09/16] Acesso a DB

---
 src/main/java/com/example/App.java        | 10 +++----
 src/main/java/com/example/AppDB.java      | 34 +++++++++++++++++++++++
 src/main/java/com/example/AppScanner.java |  1 +
 src/main/java/com/example/AppSet.java     |  5 +++-
 4 files changed, 44 insertions(+), 6 deletions(-)
 create mode 100644 src/main/java/com/example/AppDB.java

diff --git a/src/main/java/com/example/App.java b/src/main/java/com/example/App.java
index 89a8a8f5..68e7f48e 100644
--- a/src/main/java/com/example/App.java
+++ b/src/main/java/com/example/App.java
@@ -10,12 +10,12 @@ public class App {
     private static final String JDBC_URL = "jdbc:postgresql://localhost/postgres";
 
     public static void main(String[] args) {
-       // new App(); 
-       System.out.println("oi");
+       new App(); 
+       System.out.println("Aplicacao acessando DB");
        System.out.println();
-    }
-
-    public App(){
+      
+    } 
+       public App(){
         try(var conn = getConnection()){
             carregarDriverJDBC();
             listarEstados(conn);
diff --git a/src/main/java/com/example/AppDB.java b/src/main/java/com/example/AppDB.java
new file mode 100644
index 00000000..4359eae5
--- /dev/null
+++ b/src/main/java/com/example/AppDB.java
@@ -0,0 +1,34 @@
+package com.example;
+
+import java.sql.DriverManager;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+public class AppDB {
+    public static void main(String[] args) {
+        try {Class.forName("org.postgresql.Driver");
+        }
+        catch (ClassNotFoundException e) {
+            System.err.println("Nao foi possivel carregar o DB driver!!"+e.getMessage());
+        }
+        Statement statement=null;
+        try(var conn=DriverManager.getConnection("jdbc:postgresql://localhost/postgres", 
+        "gitpod","")){
+            System.out.println("Connexo com sucesso!!!!");
+            statement = conn.createStatement();
+            var result = statement.executeQuery("Select * fro estado");
+            while (result.next()) {
+               System.out.printf("ID: %d Nome : %s UF: %s\n",result.getInt("id"),result.getString("Nome"), result.getString("uf"));
+            }
+        }    
+        catch(SQLException e){
+            if (statement==null) {
+                System.out.println("Nao foi possivel connectar ao banco de dados!!!!");
+            }
+            else {
+                System.out.println("Erro no SQL:"+ e.getMessage());
+            }            
+        }           
+    }
+}
+  
\ No newline at end of file
diff --git a/src/main/java/com/example/AppScanner.java b/src/main/java/com/example/AppScanner.java
index b8edf8c3..1187d8db 100644
--- a/src/main/java/com/example/AppScanner.java
+++ b/src/main/java/com/example/AppScanner.java
@@ -24,6 +24,7 @@ public static void main(String[] args) {
         System.out.println(cliente1.getSexo());
         System.out.println(cliente1.getAnoNascimento());
         System.out.println(cliente1.isEspecial());
+        scanner.close();
      
     }
     
diff --git a/src/main/java/com/example/AppSet.java b/src/main/java/com/example/AppSet.java
index f603eb9d..f38e7620 100644
--- a/src/main/java/com/example/AppSet.java
+++ b/src/main/java/com/example/AppSet.java
@@ -1,6 +1,6 @@
 package com.example;
 
-import java.util.ArrayList;
+
 import java.util.Arrays;
 import java.util.HashSet;
 import java.util.*;
@@ -9,6 +9,7 @@ public class AppSet {
     public static void main(String[] args) {
        // String[] vogais = {"e","i","o","u","a","b","c"};
         Set<String> setVogais = new HashSet<>();
+        Set<String> setVogais1 = new HashSet<>();
               //  Set<String> setVogais = new TreeSet<>(Arrays.asList(vogais));
      // Collections.addAll(setVogais,vogais);
      setVogais.add("a");
@@ -18,6 +19,8 @@ public static void main(String[] args) {
      setVogais.add("u");
      setVogais.add("b");
      setVogais.add("c");
+     setVogais1.add("x");
+     setVogais.addAll(setVogais1);
      String strArray[]= setVogais.toArray(new String[setVogais.size()-1]);
     // Collections.sort(setVogais);
 

From 1aa68017b1fffb85bb71397f01691156fa28a73f Mon Sep 17 00:00:00 2001
From: Paulo Lopes <lopespcmlf@gmail.com>
Date: Tue, 1 Aug 2023 21:51:12 +0000
Subject: [PATCH 10/16] Refatoracao

---
 join.sql                             | 32 ++++++++++
 sefaz.sql                            | 54 ++++++++++++++++
 src/main/java/com/example/AppDB.java | 95 ++++++++++++++++++++++++----
 3 files changed, 167 insertions(+), 14 deletions(-)
 create mode 100644 join.sql
 create mode 100644 sefaz.sql

diff --git a/join.sql b/join.sql
new file mode 100644
index 00000000..604f2a9d
--- /dev/null
+++ b/join.sql
@@ -0,0 +1,32 @@
+-- Active: 1690746463990@@127.0.0.1@5432@postgres
+drop table if exists palette_a;
+drop table if exists palette_b;
+CREATE TABLE palette_a (
+    id INT PRIMARY KEY,
+    color VARCHAR (100) NOT NULL
+);
+CREATE TABLE palette_b (
+    id INT PRIMARY KEY,
+    color VARCHAR (100) NOT NULL
+);
+INSERT INTO palette_a (id, color)
+VALUES (1, 'Red');
+INSERT INTO palette_a (id, color)
+VALUES (2, 'Green');
+INSERT INTO palette_a (id, color)
+VALUES (3, 'Blue');
+INSERT INTO palette_a (id, color)
+VALUES (4, 'Purple');
+
+-- insert data for the palette_b
+INSERT INTO palette_b (id, color)
+VALUES (1, 'Green');
+
+INSERT INTO palette_b (id, color)
+VALUES (2, 'Red');
+
+INSERT INTO palette_b (id, color)
+VALUES (3, 'Cyan');
+
+INSERT INTO palette_b (id, color)
+VALUES (4, 'Brown');
diff --git a/sefaz.sql b/sefaz.sql
new file mode 100644
index 00000000..f977b48a
--- /dev/null
+++ b/sefaz.sql
@@ -0,0 +1,54 @@
+-- Active: 1690746463990@@127.0.0.1@5432@postgres
+drop table if exists Xvendedor;
+drop table if exists  Xproduto;
+drop table if exists Xvendas;
+
+CREATE TABLE Xvendedor (
+   nome VARCHAR (100) NOT NULL
+);
+CREATE TABLE Xproduto (
+   tipo VARCHAR (100) NOT NULL,
+   valor FLOAT
+);
+CREATE TABLE Xvendas (
+    nome VARCHAR (100) NOT NULL,
+    tipo VARCHAR (100) NOT NULL,
+    quantidade INT
+);
+
+
+INSERT INTO Xvendedor (nome)
+VALUES ('Gabriela');
+INSERT INTO Xvendedor (nome)
+VALUES ('Joao');
+INSERT INTO Xvendedor (nome)
+VALUES ('Maria');
+INSERT INTO Xvendedor (nome)
+VALUES ('Pedro');
+INSERT INTO Xproduto (tipo, valor)
+VALUES ('Cadeira',800.0);
+INSERT INTO Xproduto (tipo, valor)
+VALUES ('Mesa',1400.0);
+INSERT INTO Xproduto (tipo, valor)
+VALUES ('Sofa',2600.0);
+INSERT INTO Xvendas (nome,tipo, quantidade)
+VALUES ('Gabriela','Cadeira',8);
+INSERT INTO Xvendas (nome,tipo, quantidade)
+VALUES ('Gabriela','Mesa',2);
+INSERT INTO Xvendas (nome,tipo, quantidade)
+VALUES ('Gabriela','Sofa',3);
+
+INSERT INTO Xvendas (nome,tipo, quantidade)
+VALUES ('Joao','Cadeira',4);
+INSERT INTO Xvendas (nome,tipo, quantidade)
+VALUES ('Joao','Mesa',1);
+INSERT INTO Xvendas (nome,tipo, quantidade)
+VALUES ('Joao','Sofa',3);
+
+INSERT INTO Xvendas (nome,tipo, quantidade)
+VALUES ('Maria','Cadeira',2);
+INSERT INTO Xvendas (nome,tipo, quantidade)
+VALUES ('Maria','Mesa',1);
+
+
+
diff --git a/src/main/java/com/example/AppDB.java b/src/main/java/com/example/AppDB.java
index 4359eae5..a0c0cb3a 100644
--- a/src/main/java/com/example/AppDB.java
+++ b/src/main/java/com/example/AppDB.java
@@ -1,34 +1,101 @@
 package com.example;
 
+import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.SQLException;
-import java.sql.Statement;
+
 
 public class AppDB {
-    public static void main(String[] args) {
+    private static final String PASSWORD = "";
+    private static final String USERNAME = "gitpod";
+    private static final String JDBC_URL = "jdbc:postgresql://localhost/postgres";
+    
+
+    public static void main(String[] args) {       
+        new AppDB();     
+    }
+
+    public AppDB() {
+        carregarDriver();
+        try(var conn=getConnection()){
+           /* listarEstados(conn);
+            System.out.println();
+            localizarEstado(conn, "TO");*/
+            listasDados(conn,"marca");
+        }
+        catch(SQLException e) {
+            System.out.println("Nao foi possivel connectar ao banco de dados!!!!" + e.getMessage());
+        }   
+    }
+
+
+    private  void carregarDriver() {
         try {Class.forName("org.postgresql.Driver");
         }
         catch (ClassNotFoundException e) {
             System.err.println("Nao foi possivel carregar o DB driver!!"+e.getMessage());
         }
-        Statement statement=null;
-        try(var conn=DriverManager.getConnection("jdbc:postgresql://localhost/postgres", 
-        "gitpod","")){
-            System.out.println("Connexo com sucesso!!!!");
-            statement = conn.createStatement();
-            var result = statement.executeQuery("Select * fro estado");
+    }
+
+    private  Connection getConnection() throws SQLException {
+        return DriverManager.getConnection(JDBC_URL,USERNAME,PASSWORD);
+    }
+    private void listarEstados(Connection conn) {
+        try{
+          //  Statement query=null;
+            var query = conn.createStatement();
+            var sql = "Select * from estado";
+            var result = query.executeQuery(sql);
             while (result.next()) {
-               System.out.printf("ID: %d Nome : %s UF: %s\n",result.getInt("id"),result.getString("Nome"), result.getString("uf"));
+                System.out.printf("ID: %d Nome : %s UF: %s\n",result.getInt("id"),result.getString("Nome"), result.getString("uf"));
             }
         }    
         catch(SQLException e){
-            if (statement==null) {
-                System.out.println("Nao foi possivel connectar ao banco de dados!!!!");
+           System.out.println("Erro no SQL:"+ e.getMessage());
+            }            
+    }
+
+    private void localizarEstado(Connection conn,String uf) {
+        try{
+           // Statement query=null;
+           // query = conn.createStatement();
+          //  var sql="Select * from estado where uf=" + "'"+uf+"'"; //SQL injection issue
+            var sql= "Select * from estado where uf=?";
+            var query =conn.prepareStatement(sql);
+            query.setString(1,uf);
+            var result = query.executeQuery();
+            if (result.next()) {
+                System.out.printf("ID: %d Nome : %s UF: %s\n",result.getInt("id"),result.getString("Nome"), result.getString("uf"));
             }
-            else {
-                System.out.println("Erro no SQL:"+ e.getMessage());
+        }    
+        catch(SQLException e){
+           System.out.println("Erro no SQL:"+ e.getMessage());
             }            
-        }           
     }
+
+    private void listasDados(Connection conn, String tabela) {
+        try{
+            //  Statement query=null;
+              var query = conn.createStatement();
+              var sql = "Select * from " + tabela;
+              var result = query.executeQuery(sql);
+              int cols=result.getMetaData().getColumnCount();
+              for (int i = 1; i < cols; i++) {
+                 System.out.printf("%-25s",result.getMetaData().getColumnName(i));   
+              } 
+              System.out.println();
+
+              while (result.next()) {
+                  for (int i = 1; i < cols; i++) {
+                    System.out.printf("%-25s",result.getString(i));
+                  }
+              System.out.println();     
+              }
+          }    
+          catch(SQLException e){
+             System.out.println("Erro no SQL:"+ e.getMessage());
+              }      
+    }
+
 }
   
\ No newline at end of file

From 2ca87f6ba288a7cfc6304a06604760f34538ff66 Mon Sep 17 00:00:00 2001
From: Paulo Lopes <lopespcmlf@gmail.com>
Date: Wed, 2 Aug 2023 13:23:36 +0000
Subject: [PATCH 11/16] Apos o bug

---
 src/main/java/com/example/AppDB.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/main/java/com/example/AppDB.java b/src/main/java/com/example/AppDB.java
index a0c0cb3a..208bfae1 100644
--- a/src/main/java/com/example/AppDB.java
+++ b/src/main/java/com/example/AppDB.java
@@ -12,7 +12,8 @@ public class AppDB {
     
 
     public static void main(String[] args) {       
-        new AppDB();     
+        new AppDB();   
+          
     }
 
     public AppDB() {

From 3af4b5f59969489b416e1628b0f3069d7df9ca5f Mon Sep 17 00:00:00 2001
From: Paulo Lopes <lopespcmlf@gmail.com>
Date: Wed, 2 Aug 2023 14:49:55 +0000
Subject: [PATCH 12/16] CRUD

---
 src/main/java/com/example/AppDB.java   | 57 ++++++++++++++++++++++++--
 src/main/java/com/example/Marca.java   | 20 +++++++++
 src/main/java/com/example/Produto.java | 53 ++++++++++++++++++++++++
 3 files changed, 127 insertions(+), 3 deletions(-)
 create mode 100644 src/main/java/com/example/Marca.java
 create mode 100644 src/main/java/com/example/Produto.java

diff --git a/src/main/java/com/example/AppDB.java b/src/main/java/com/example/AppDB.java
index 208bfae1..c27238d4 100644
--- a/src/main/java/com/example/AppDB.java
+++ b/src/main/java/com/example/AppDB.java
@@ -21,8 +21,19 @@ public AppDB() {
         try(var conn=getConnection()){
            /* listarEstados(conn);
             System.out.println();
-            localizarEstado(conn, "TO");*/
-            listasDados(conn,"marca");
+            localizarEstado(conn, "TO");
+            listasDados(conn,"marca"); */
+            var marca=new Marca();
+            marca.setId(3L);
+            var produto =new Produto();
+            produto.setId(202L);
+            produto.setNome("Produto Alterado");
+            produto.setMarca(marca);
+            produto.setValor(100);
+          //  inserirProduto(conn,produto);
+          //  excluirProduto(conn,204L);
+            alterarProduto(conn,produto);
+            produto.listar(conn);
         }
         catch(SQLException e) {
             System.out.println("Nao foi possivel connectar ao banco de dados!!!!" + e.getMessage());
@@ -30,7 +41,7 @@ public AppDB() {
     }
 
 
-    private  void carregarDriver() {
+ private  void carregarDriver() {
         try {Class.forName("org.postgresql.Driver");
         }
         catch (ClassNotFoundException e) {
@@ -97,6 +108,46 @@ private void listasDados(Connection conn, String tabela) {
              System.out.println("Erro no SQL:"+ e.getMessage());
               }      
     }
+    private void inserirProduto(Connection conn, Produto produto) {
+        var sql= "insert into produto (nome, marca_id,valor) values (?,?,?)";
+        try {
+            var statement= conn.prepareStatement(sql);
+            statement.setString(1, produto.getNome());
+            statement.setLong(2, produto.getMarca().getId());
+            statement.setDouble(3, produto.getValor());
+            statement.executeUpdate();
+        } 
+        catch (SQLException e) {
+            System.out.println("Erro no SQL: "+ e.getMessage());
+        }
+    }    
+    private void alterarProduto(Connection conn, Produto produto) {
+        var sql= "update produto set nome=?, marca_id=?,valor=? where id=?";
+        try {
+            var statement= conn.prepareStatement(sql);
+            statement.setString(1, produto.getNome());
+            statement.setLong(2, produto.getMarca().getId());
+            statement.setDouble(3, produto.getValor());
+            statement.setLong(4, produto.getId());
+            statement.executeUpdate();
+        } 
+        catch (SQLException e) {
+            System.out.println("Erro no SQL: "+ e.getMessage());
+        }
+    }    
+
 
+    private void excluirProduto(Connection conn, Long id) {
+        var sql= "delete from produto where id=?";
+        try {       
+        var statement = conn.prepareStatement(sql);
+        statement.setLong(1,id);
+        statement.executeUpdate();
+        } 
+        catch (SQLException e) {
+            System.out.println("Erro no SQL: "+ e.getMessage());
+        }
+    }
+  
 }
   
\ No newline at end of file
diff --git a/src/main/java/com/example/Marca.java b/src/main/java/com/example/Marca.java
new file mode 100644
index 00000000..b07fe8ad
--- /dev/null
+++ b/src/main/java/com/example/Marca.java
@@ -0,0 +1,20 @@
+package com.example;
+
+public class Marca {
+    private Long id;
+    private String nome;
+   
+    public Long getId() {
+        return id;
+    }
+    public void setId(Long id) {
+        this.id = id;
+    }
+    public String getNome() {
+        return nome;
+    }
+    public void setNome(String nome) {
+        this.nome = nome;
+    }
+}
+
diff --git a/src/main/java/com/example/Produto.java b/src/main/java/com/example/Produto.java
new file mode 100644
index 00000000..5fa964f1
--- /dev/null
+++ b/src/main/java/com/example/Produto.java
@@ -0,0 +1,53 @@
+package com.example;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+
+public class Produto {
+    private Long id;
+    private String nome;
+    private Marca marca;
+    private double Valor;
+    
+ 
+    public Long getId() {
+        return id;
+    }
+    public void setId(Long id) {
+        this.id = id;
+    }
+    public String getNome() {
+        return nome;
+    }
+    public void setNome(String nome) {
+        this.nome = nome;
+    }
+    public Marca getMarca() {
+        return marca;
+    }
+    public void setMarca(Marca marca) {
+        this.marca = marca;
+    }
+    public double getValor() {
+        return Valor;
+    }
+    public void setValor(double valor) {
+        Valor = valor;
+    }    
+  public void listar(Connection conn) {
+    var sql = "select * from Produto";
+    try {
+        var statement = conn.createStatement();
+        var result=statement.executeQuery(sql);
+        while (result.next()) {
+            System.out.printf("ID: %s Produto : %s Marca: %s Valor: %s\n",
+            result.getLong("id"),result.getString("nome"), result.getInt("marca_id"), result.getDouble("valor"));
+        }
+    } catch (SQLException e) {
+        System.out.println("Erro no SQL:"+ e.getMessage());      
+    }
+    
+
+
+  }  
+}

From 72b7a4242db53e31fbd7096557835686a65ff23b Mon Sep 17 00:00:00 2001
From: Paulo Lopes <lopespcmlf@gmail.com>
Date: Wed, 2 Aug 2023 20:26:23 +0000
Subject: [PATCH 13/16] BubleSort

---
 src/main/java/AppLocalBubbleSort.java         | 32 +++++++++++++++++++
 .../java/{ => com/example}/AppEleitor.java    |  3 +-
 2 files changed, 33 insertions(+), 2 deletions(-)
 create mode 100644 src/main/java/AppLocalBubbleSort.java
 rename src/main/java/{ => com/example}/AppEleitor.java (96%)

diff --git a/src/main/java/AppLocalBubbleSort.java b/src/main/java/AppLocalBubbleSort.java
new file mode 100644
index 00000000..e01f8c3e
--- /dev/null
+++ b/src/main/java/AppLocalBubbleSort.java
@@ -0,0 +1,32 @@
+import java.util.ArrayList;
+import java.util.Random;
+
+public class AppLocalBubbleSort {
+    public static void main(String[] args) {
+     //  int array[]={0,1,2,3,4,5,6,7,8,9};
+       ArrayList<Integer> array = new ArrayList<>();
+
+       Random random= new Random();
+
+       for (int i = 0; i < 10; i++) {
+        array.add(i, random.nextInt(100));
+       }
+       System.out.println("Entrada : " + array); 
+       int size = array.size();
+       bublesort(array, size);
+       System.out.println("Saida : " + array); 
+    }
+
+    private static ArrayList<Integer> bublesort(ArrayList<Integer> array, int size) {
+        for (int i = 0; i < size; i++) {
+            for (int j = 1; j < size - i; j++) {
+                if (array.get(j-1)>array.get(j)) {
+                    int temp=array.get(j);
+                    array.set(j, array.get(j-1));
+                    array.set(j-1, temp);
+                }    
+            }
+           }
+        return array;
+    }
+}
diff --git a/src/main/java/AppEleitor.java b/src/main/java/com/example/AppEleitor.java
similarity index 96%
rename from src/main/java/AppEleitor.java
rename to src/main/java/com/example/AppEleitor.java
index c32d39f8..d9b9dc0e 100644
--- a/src/main/java/AppEleitor.java
+++ b/src/main/java/com/example/AppEleitor.java
@@ -1,9 +1,8 @@
+package com.example;
 import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
 import java.util.Scanner;
 
-import com.example.Cidadao;
-
 public class AppEleitor {
     public static void main(String[] args) {
             LocalDate dataNascimento;

From 4fc4b1dbcf39056f6b5ff4647464e3ee87c8312e Mon Sep 17 00:00:00 2001
From: Paulo Lopes <lopespcmlf@gmail.com>
Date: Thu, 3 Aug 2023 13:49:28 +0000
Subject: [PATCH 14/16] Remodelando

---
 src/main/java/AppLocalBubbleSort.java | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/src/main/java/AppLocalBubbleSort.java b/src/main/java/AppLocalBubbleSort.java
index e01f8c3e..da5ff862 100644
--- a/src/main/java/AppLocalBubbleSort.java
+++ b/src/main/java/AppLocalBubbleSort.java
@@ -13,11 +13,28 @@ public static void main(String[] args) {
        }
        System.out.println("Entrada : " + array); 
        int size = array.size();
-       bublesort(array, size);
+      // bubleSort(array, size);
+       insertionSort(array, size);
        System.out.println("Saida : " + array); 
     }
 
-    private static ArrayList<Integer> bublesort(ArrayList<Integer> array, int size) {
+    private static ArrayList<Integer> insertionSort(ArrayList<Integer> array, int size) {
+        for (int i = 1; i < size; i++) {
+            int pivo = array.get(i);
+            int j= i - 1;
+            while(j>=0 && array.get(j)>pivo) {
+                array.set(j+1, array.get(j));
+             //   array.set(j, pivo);
+                j-=1;
+            }     
+         //   System.out.println("Inter : " + i + " =" + array); 
+            array.set(j+1, pivo);
+       }
+        return array;
+
+    }
+    private static ArrayList<Integer> bubleSort(ArrayList<Integer> array, int size) {
+
         for (int i = 0; i < size; i++) {
             for (int j = 1; j < size - i; j++) {
                 if (array.get(j-1)>array.get(j)) {

From df6436c9a86cb75ee8954edfcfb68978b1da8619 Mon Sep 17 00:00:00 2001
From: Paulo Lopes <lopespcmlf@gmail.com>
Date: Thu, 3 Aug 2023 14:20:59 +0000
Subject: [PATCH 15/16] Reordencao

---
 .../java/{com/example => Modelo}/Cidadao.java |  2 +-
 .../{com/example => Modelo}/Clientes.java     |  2 +-
 .../java/{com/example => Modelo}/Marca.java   |  2 +-
 .../java/{com/example => Modelo}/Produto.java |  2 +-
 src/main/java/com/example/AppClasses.java     |  2 ++
 src/main/java/com/example/AppDB.java          | 24 +++++++++----------
 src/main/java/com/example/AppEleitor.java     |  2 ++
 src/main/java/com/example/AppListas.java      |  2 ++
 .../com/example/AppOperadoresRelacionais.java |  3 +++
 src/main/java/com/example/AppScanner.java     |  2 ++
 .../com/example/dao/ConnectionManager.java    | 17 +++++++++++++
 11 files changed, 43 insertions(+), 17 deletions(-)
 rename src/main/java/{com/example => Modelo}/Cidadao.java (97%)
 rename src/main/java/{com/example => Modelo}/Clientes.java (98%)
 rename src/main/java/{com/example => Modelo}/Marca.java (93%)
 rename src/main/java/{com/example => Modelo}/Produto.java (98%)
 create mode 100644 src/main/java/com/example/dao/ConnectionManager.java

diff --git a/src/main/java/com/example/Cidadao.java b/src/main/java/Modelo/Cidadao.java
similarity index 97%
rename from src/main/java/com/example/Cidadao.java
rename to src/main/java/Modelo/Cidadao.java
index f65ae79f..7360421a 100644
--- a/src/main/java/com/example/Cidadao.java
+++ b/src/main/java/Modelo/Cidadao.java
@@ -1,4 +1,4 @@
-package com.example;
+package Modelo;
 
 import java.time.LocalDate;
 
diff --git a/src/main/java/com/example/Clientes.java b/src/main/java/Modelo/Clientes.java
similarity index 98%
rename from src/main/java/com/example/Clientes.java
rename to src/main/java/Modelo/Clientes.java
index 2ecb2faf..8720978a 100644
--- a/src/main/java/com/example/Clientes.java
+++ b/src/main/java/Modelo/Clientes.java
@@ -1,4 +1,4 @@
-package com.example;
+package Modelo;
 
 public class Clientes{
     private String cpf;
diff --git a/src/main/java/com/example/Marca.java b/src/main/java/Modelo/Marca.java
similarity index 93%
rename from src/main/java/com/example/Marca.java
rename to src/main/java/Modelo/Marca.java
index b07fe8ad..2a516565 100644
--- a/src/main/java/com/example/Marca.java
+++ b/src/main/java/Modelo/Marca.java
@@ -1,4 +1,4 @@
-package com.example;
+package Modelo;
 
 public class Marca {
     private Long id;
diff --git a/src/main/java/com/example/Produto.java b/src/main/java/Modelo/Produto.java
similarity index 98%
rename from src/main/java/com/example/Produto.java
rename to src/main/java/Modelo/Produto.java
index 5fa964f1..05d0173f 100644
--- a/src/main/java/com/example/Produto.java
+++ b/src/main/java/Modelo/Produto.java
@@ -1,4 +1,4 @@
-package com.example;
+package Modelo;
 
 import java.sql.Connection;
 import java.sql.SQLException;
diff --git a/src/main/java/com/example/AppClasses.java b/src/main/java/com/example/AppClasses.java
index d2379004..93a3c81d 100644
--- a/src/main/java/com/example/AppClasses.java
+++ b/src/main/java/com/example/AppClasses.java
@@ -1,5 +1,7 @@
 package com.example;
 
+import Modelo.Clientes;
+
 public class AppClasses {
     public static void main(String[] args) {
         Clientes cliente1=new Clientes("01234567P","     Paulo Cesar   ",10000,'M',1966);
diff --git a/src/main/java/com/example/AppDB.java b/src/main/java/com/example/AppDB.java
index c27238d4..5892be6f 100644
--- a/src/main/java/com/example/AppDB.java
+++ b/src/main/java/com/example/AppDB.java
@@ -4,13 +4,13 @@
 import java.sql.DriverManager;
 import java.sql.SQLException;
 
+import com.example.dao.ConnectionManager;
+
+import Modelo.Marca;
+import Modelo.Produto;
 
-public class AppDB {
-    private static final String PASSWORD = "";
-    private static final String USERNAME = "gitpod";
-    private static final String JDBC_URL = "jdbc:postgresql://localhost/postgres";
-    
 
+public class AppDB {
     public static void main(String[] args) {       
         new AppDB();   
           
@@ -18,9 +18,9 @@ public static void main(String[] args) {
 
     public AppDB() {
         carregarDriver();
-        try(var conn=getConnection()){
-           /* listarEstados(conn);
-            System.out.println();
+        try(var conn=ConnectionManager.getConnection()){
+           listarEstados(conn);
+           /* System.out.println();
             localizarEstado(conn, "TO");
             listasDados(conn,"marca"); */
             var marca=new Marca();
@@ -32,8 +32,8 @@ public AppDB() {
             produto.setValor(100);
           //  inserirProduto(conn,produto);
           //  excluirProduto(conn,204L);
-            alterarProduto(conn,produto);
-            produto.listar(conn);
+         //   alterarProduto(conn,produto);
+         //   produto.listar(conn);
         }
         catch(SQLException e) {
             System.out.println("Nao foi possivel connectar ao banco de dados!!!!" + e.getMessage());
@@ -49,9 +49,7 @@ private  void carregarDriver() {
         }
     }
 
-    private  Connection getConnection() throws SQLException {
-        return DriverManager.getConnection(JDBC_URL,USERNAME,PASSWORD);
-    }
+   
     private void listarEstados(Connection conn) {
         try{
           //  Statement query=null;
diff --git a/src/main/java/com/example/AppEleitor.java b/src/main/java/com/example/AppEleitor.java
index d9b9dc0e..83c59268 100644
--- a/src/main/java/com/example/AppEleitor.java
+++ b/src/main/java/com/example/AppEleitor.java
@@ -3,6 +3,8 @@
 import java.time.format.DateTimeFormatter;
 import java.util.Scanner;
 
+import Modelo.Cidadao;
+
 public class AppEleitor {
     public static void main(String[] args) {
             LocalDate dataNascimento;
diff --git a/src/main/java/com/example/AppListas.java b/src/main/java/com/example/AppListas.java
index 4e09b871..f586d962 100644
--- a/src/main/java/com/example/AppListas.java
+++ b/src/main/java/com/example/AppListas.java
@@ -5,6 +5,8 @@
 import java.util.List;
 import java.util.Set;
 
+import Modelo.Clientes;
+
 public class AppListas {
     public static void main(String[] args) {
       Clientes[] clientes = new Clientes[5];
diff --git a/src/main/java/com/example/AppOperadoresRelacionais.java b/src/main/java/com/example/AppOperadoresRelacionais.java
index 272e6d6a..f9cc690b 100644
--- a/src/main/java/com/example/AppOperadoresRelacionais.java
+++ b/src/main/java/com/example/AppOperadoresRelacionais.java
@@ -1,4 +1,7 @@
 package com.example;
+
+import Modelo.Clientes;
+
 public class AppOperadoresRelacionais {
     public static void main(String[] args) {
         var cliente1=new Clientes();
diff --git a/src/main/java/com/example/AppScanner.java b/src/main/java/com/example/AppScanner.java
index 1187d8db..0c2262ed 100644
--- a/src/main/java/com/example/AppScanner.java
+++ b/src/main/java/com/example/AppScanner.java
@@ -2,6 +2,8 @@
 
 import java.util.Scanner;
 
+import Modelo.Clientes;
+
 public class AppScanner {
     public static void main(String[] args) {
         Clientes cliente1=new Clientes("?","?",0,'?',1966);
diff --git a/src/main/java/com/example/dao/ConnectionManager.java b/src/main/java/com/example/dao/ConnectionManager.java
new file mode 100644
index 00000000..88fb25a4
--- /dev/null
+++ b/src/main/java/com/example/dao/ConnectionManager.java
@@ -0,0 +1,17 @@
+package com.example.dao;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+
+public class ConnectionManager {
+
+    private static final String PASSWORD = "";
+    private static final String USERNAME = "gitpod";
+    private static final String JDBC_URL = "jdbc:postgresql://localhost/postgres";
+
+public static Connection getConnection() throws SQLException {
+        return DriverManager.getConnection(JDBC_URL,USERNAME,PASSWORD);
+    }
+    
+}

From 8db1b7cae76d0519efbb654e45015a46f239bd3c Mon Sep 17 00:00:00 2001
From: Paulo Lopes <lopespcmlf@gmail.com>
Date: Wed, 16 Aug 2023 22:42:08 +0000
Subject: [PATCH 16/16] Exercicio

---
 dados.sql                                     | 11 +++++
 .../com/example/Educacao/Modelo/Aluno.java    | 41 +++++++++++++++++++
 .../com/example/Educacao/dao/AlunoDao.java    | 21 ++++++++++
 3 files changed, 73 insertions(+)
 create mode 100644 src/main/java/com/example/Educacao/Modelo/Aluno.java
 create mode 100644 src/main/java/com/example/Educacao/dao/AlunoDao.java

diff --git a/dados.sql b/dados.sql
index bdd08cb8..f8ccd933 100644
--- a/dados.sql
+++ b/dados.sql
@@ -3,6 +3,17 @@
 -- Área por estado: https://pt.wikipedia.org/wiki/Lista_de_unidades_federativas_do_Brasil_por_área
 -- População por estado (prévio censo 2022): https://pt.wikipedia.org/wiki/Lista_de_unidades_federativas_do_Brasil_por_população
 
+drop table if EXISTS aluno;
+
+create table aluno(
+    matricula SERIAL PRIMARY KEY NOT NULL,
+    descricao VARCHAR(100) not NULL,
+    nota1 DECIMAL(4,2),
+    nota2 DECIMAL(4,2),
+    nota3 DECIMAL(4,2)
+)
+
+
 drop table if exists item_venda;
 drop table if exists venda;
 
diff --git a/src/main/java/com/example/Educacao/Modelo/Aluno.java b/src/main/java/com/example/Educacao/Modelo/Aluno.java
new file mode 100644
index 00000000..29e9f8e7
--- /dev/null
+++ b/src/main/java/com/example/Educacao/Modelo/Aluno.java
@@ -0,0 +1,41 @@
+package com.example.Educacao.Modelo;
+
+public class Aluno {
+    private Integer matricula;
+    private String Nome;
+    private double nota1, nota2,nota3;
+    public Integer getMatricula() {
+        return matricula;
+    }
+    public void setMatricula(Integer matricula) {
+        this.matricula = matricula;
+    }
+    public String getNome() {
+        return Nome;
+    }
+    public void setNome(String nome) {
+        Nome = nome;
+    }
+    public double getNota1() {
+        return nota1;
+    }
+    public void setNota1(double nota1) {
+        this.nota1 = nota1;
+    }
+    public double getNota2() {
+        return nota2;
+    }
+    public void setNota2(double nota2) {
+        this.nota2 = nota2;
+    }
+    public double getNota3() {
+        return nota3;
+    }
+    public void setNota3(double nota3) {
+        this.nota3 = nota3;
+    }
+    public calculaMedia(){
+        return (nota1+nota2+nota3)/3;
+    }
+
+}
diff --git a/src/main/java/com/example/Educacao/dao/AlunoDao.java b/src/main/java/com/example/Educacao/dao/AlunoDao.java
new file mode 100644
index 00000000..0dec9c9e
--- /dev/null
+++ b/src/main/java/com/example/Educacao/dao/AlunoDao.java
@@ -0,0 +1,21 @@
+package com.example.Educacao.dao;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+
+import com.example.Educacao.Modelo.Aluno;
+import com.example.dao.ConnectionManager;
+
+public class AlunoDao  {
+    
+        
+    public void inserir(Aluno Aluno,Connection conn) {
+        var sql = "insert into Aluno (nome) values(?)";
+        try {
+            var statement = conn.prepareStatement(sql);
+            statement.setString(1,Aluno.getNome());
+        } catch (SQLException e) {
+            System.out.println(e.getMessage());
+        }
+    }
+}
