Buon pomeriggio a tutti,
sto cercando di fare un esercizio dove ho una classe Progetto al cui interno c'è la descrizione del progetto, la data di inizio e fine progetto. Tutti i miei dati sono all'interno di un file. La classe progetto è la seguente:
Successivamente ho creato una classe Gestore dove al cui interno ho dato vita ad un ArrayList della classe Progetto. La classe Gestore è la seguente:
Il problema è che l'esercizio mi chiede di implementare un metodo dove stampo tutti i progetti che hanno avuto durata di tot mesi. Qualcuno potrebbe aiutarmi per favore? Grazie mille
sto cercando di fare un esercizio dove ho una classe Progetto al cui interno c'è la descrizione del progetto, la data di inizio e fine progetto. Tutti i miei dati sono all'interno di un file. La classe progetto è la seguente:
Java:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class Progetto {
public Progetto(String descrizione, Calendar inizio, Calendar fine) {
this.descrizione = descrizione;
this.inizio = inizio;
this.fine = fine;
}
public String getDescrizione() {
return descrizione;
}
public void setDescrizione(String descrizione) {
this.descrizione = descrizione;
}
public Calendar getInizio() {
return inizio;
}
public void setInizio(Calendar inizio) {
this.inizio = inizio;
}
public Calendar getFine() {
return fine;
}
public void setFine(Calendar fine) {
this.fine = fine;
}
public static Progetto leggi(Scanner s) throws ParseException {
if (!s.hasNextLine())
return null;
String descrizione = s.nextLine();
if (!s.hasNextLine())
return null;
SimpleDateFormat formatter = new SimpleDateFormat("dd-mm-yyyy");
Date d = formatter.parse(s.nextLine());
Calendar inizio = Calendar.getInstance();
inizio.setTime(d);
if (!s.hasNextLine())
return null;
Date d2 = formatter.parse(s.nextLine());
Calendar fine = Calendar.getInstance();
fine.setTime(d2);
return new Progetto(descrizione, inizio, fine);
}
public void stampa() {
System.out.println("PROGETTO:");
System.out.println(descrizione);
System.out.println("Data di inizio: " + inizio.get(Calendar.DAY_OF_MONTH) + "-" + inizio.get(Calendar.MONTH)
+ "-" + inizio.get(Calendar.YEAR));
System.out.println("Data di fine: " + fine.get(Calendar.DAY_OF_MONTH) + "-" + fine.get(Calendar.MONTH) + "-"
+ fine.get(Calendar.YEAR));
System.out.println();
}
private String descrizione;
private Calendar inizio;
private Calendar fine;
}
Successivamente ho creato una classe Gestore dove al cui interno ho dato vita ad un ArrayList della classe Progetto. La classe Gestore è la seguente:
Java:
public class Gestore {
public Gestore(String nomeFile) throws FileNotFoundException, ParseException {
progetti = new ArrayList<>();
File fileP = new File(nomeFile);
Scanner sP = new Scanner(fileP);
Progetto p = Progetto.leggi(sP);
while (p != null) {
progetti.add(p);
p = Progetto.leggi(sP);
}
}
private ArrayList<Progetto> progetti;
}