diff --git a/src/Studenti-Esami/Esame.class b/src/Studenti-Esami/Esame.class index 6f3e642..531c3b6 100644 Binary files a/src/Studenti-Esami/Esame.class and b/src/Studenti-Esami/Esame.class differ diff --git a/src/Studenti-Esami/Esame.java b/src/Studenti-Esami/Esame.java index 65a30ea..bd8e522 100644 --- a/src/Studenti-Esami/Esame.java +++ b/src/Studenti-Esami/Esame.java @@ -12,21 +12,29 @@ public class Esame{ return voto; } - public Esame lookUp(int mat){ + public int getMat(){ + return mat; + } + + public String getNome(){ + return nome; + } + + public boolean lookUp(int mat){ if(this.mat==mat) - return this; - return null; + return true; + return false; } public static Esame read(Scanner sc) throws Exception{ String nome; int voto; int mat; - if(sc.hasNext()){ + if(sc.hasNextLine()){ nome=sc.nextLine(); - if(sc.hasNext()){ + if(sc.hasNextInt()){ voto=sc.nextInt(); - if(sc.hasNext()){ + if(sc.hasNextInt()){ mat=sc.nextInt(); return new Esame(nome, voto, mat); } diff --git a/src/Studenti-Esami/Esami.dati b/src/Studenti-Esami/Esami.dati index bd73080..51444d9 100644 --- a/src/Studenti-Esami/Esami.dati +++ b/src/Studenti-Esami/Esami.dati @@ -1,7 +1,4 @@ Chimica -30 -1212 -Chimica 18 1313 Economia @@ -10,3 +7,6 @@ Economia Economia 30 1414 +Chimica +30 +1212 diff --git a/src/Studenti-Esami/Main.class b/src/Studenti-Esami/Main.class index afbfcf5..830514f 100644 Binary files a/src/Studenti-Esami/Main.class and b/src/Studenti-Esami/Main.class differ diff --git a/src/Studenti-Esami/Main.java b/src/Studenti-Esami/Main.java index 0a05a75..a2a6ab5 100644 --- a/src/Studenti-Esami/Main.java +++ b/src/Studenti-Esami/Main.java @@ -9,7 +9,6 @@ public class Main{ Esame e; Studente s; int i=0; - boolean trovato = false; double media=0; String nome, cnome; @@ -20,24 +19,24 @@ public class Main{ sc=new Scanner(srcStudenti); s=Studente.read(sc); - while(s!=null && !trovato){ - s=s.lookUp(nome, cnome); - if(s!=null){ - trovato=true; + while(s!=null){ + if(s.lookUp(nome, cnome)){ sc=new Scanner(srcEsami); e=Esame.read(sc); while(e!=null){ - e=e.lookUp(s.getMat()); - if(e!=null){ + System.out.println(e.getVoto()+" "+e.getMat()+" "+e.getNome()); + if(e.lookUp(s.getMat())){ + System.out.println("ok "+e.getVoto()); media+=e.getVoto(); i++; } e=Esame.read(sc); } + break; } s=Studente.read(sc); } - System.out.println("lo studente "+s.getNomeCognome()+"ha la media di: "+media/i); + System.out.println("lo studente "+s.getNomeCognome()+" ha la media di: "+media/i); } } diff --git a/src/Studenti-Esami/Studente.class b/src/Studenti-Esami/Studente.class index a9377df..682d9cb 100644 Binary files a/src/Studenti-Esami/Studente.class and b/src/Studenti-Esami/Studente.class differ diff --git a/src/Studenti-Esami/Studente.java b/src/Studenti-Esami/Studente.java index 76fd40c..3858eb1 100644 --- a/src/Studenti-Esami/Studente.java +++ b/src/Studenti-Esami/Studente.java @@ -16,21 +16,21 @@ public class Studente{ return nome.concat(" ").concat(cnome); } - public Studente lookUp(String nome, String cnome){ + public boolean lookUp(String nome, String cnome){ if(this.nome.equals(nome) && this.cnome.equals(cnome)) - return this; - return null; + return true; + return false; } public static Studente read(Scanner sc) throws Exception{ String nome; String cnome; int mat; - if(sc.hasNext()){ + if(sc.hasNextLine()){ nome=sc.nextLine(); - if(sc.hasNext()){ + if(sc.hasNextLine()){ cnome=sc.nextLine(); - if(sc.hasNext()){ + if(sc.hasNextInt()){ mat=sc.nextInt(); return new Studente(nome, cnome, mat); }