ciao di nuovo, ho un altro problema sempre con lo stesso programma, ma ora riferito al passaggio di un array list.
Nella classe Principale, alla "parte docente" dovremmo passare un arraylist di cognomi preso da un file di testo, caricato nella classe ArrayListEs, e confrontarlo con il cognome preso in input qui nella 'Principale'.
questa è la classe Docente per il passaggio/salvataggio di variabili:codice:public class Principale { public static void main(String[] args) { int k=0; String n = null; String c = null; boolean ta = false; String cognom = null; Studente s = new Studente(k, n, c, ta); Docente d = new Docente (cognom ); int x; do{ System.out.println("Se sei uno studente premi 0 \n Se sei un docente premi 1 \n"); x = Read.readInt(); try{ if(x==0){ // parte studente System.out.println("inserisci la tua matricola:" ); int h; h = Read.readInt(); s.setMatricola(h); System.out.println("inserisci il tuo cognome:"); String cogn; cogn = Read.readString(); s.setCognome(cogn); System.out.println("inserisci il tuo nome: "); String nome; nome = Read.readString(); s.setNome(nome); int tax; do{ System.out.println("inserisci 1 se hai pagato le tasse, 0 altrimenti: "); boolean taxb=false; tax = Read.readInt(); if(tax == 1){ taxb = true; s.setTasse(taxb); }if(tax == 0){ taxb = false; s.setTasse(taxb); } if ( tax != 1 && tax != 0){ System.out.println("errore input!"); } }while(tax != 1 && tax != 0); }if(x==1){ System.out.println("inserisci il tuo cognome: ");// parte docente String lastn; lastn = Read.readString(); d.setCognome(lastn); /* d.getCognome(); dovremmo usare questo e chiamare l'array dei docenti * per confrontarlo * oppure dovremmo fare una classe apposita */ } if(x != 0 && x != 1){ throw new studenteException(); } } catch (studenteException exc){ System.out.println(exc.toString()); } }while(x != 0 && x != 1); } }
e questa è la classe di lettura dell'archivio e salvataggio dei dati in arraylist, per ora abbiamo implementato (o provato) solamente 'aldocente':codice:public class Docente { String k = null; ArrayListEs array = new ArrayListEs(k); private String cognome; public void setCognome(String cognome){ this.cognome = cognome; } public String getCognome(){ return cognome; } public Docente ( String cogn){ cognome = cogn; } int a = 0; }
codice:import java.io.BufferedReader; import java.io.FileReader; import java.util.ArrayList; public class ArrayListEs { static String s; public ArrayListEs(String k){ } public static void main(String[] args) throws Exception { FileReader fileReader = new FileReader("arches.txt"); BufferedReader bufferedReader = new BufferedReader(fileReader); ArrayList<String> alcorso = new ArrayList<String>(); ArrayList<String> alannocorrente = new ArrayList<String>(); ArrayList<String> alannocorso = new ArrayList<String>(); ArrayList<String> aldocente = new ArrayList<String>(); while((s = bufferedReader.readLine()) != null ) { alcorso.add(s); s = bufferedReader.readLine(); alannocorrente.add(s); s = bufferedReader.readLine(); alannocorso.add(s); s = bufferedReader.readLine(); aldocente.add(s); } for(int i=0; i<alcorso.size();i++){ System.out.println( alcorso.get(i) ); } } public aldocente(String [] doc ){ // in questa parte dovremmo passare l'array aldocente String [] aldocente = doc; // alla classe Principale per poter eseguire un confronto } // tra la variabile cognome messa in input nella parte docente public String [] getAlDocente(){ // è l'archivio arches.txt return aldocente; } }

Rispondi quotando