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'.
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);
}
}
questa è la classe Docente per il passaggio/salvataggio di variabili:
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;
}
e questa è la classe di lettura dell'archivio e salvataggio dei dati in arraylist, per ora abbiamo implementato (o provato) solamente 'aldocente':
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;
}
}