Progetto
This commit is contained in:
parent
c44cf35969
commit
4f918b14d2
81
src/Temi d'esame/Progetto/Capoprogetto.java
Normal file
81
src/Temi d'esame/Progetto/Capoprogetto.java
Normal file
@ -0,0 +1,81 @@
|
||||
import java.util.ArrayList;
|
||||
import java.util.Scanner;
|
||||
import java.util.Date;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.text.ParseException;
|
||||
|
||||
public class Capoprogetto {
|
||||
|
||||
public Capoprogetto(String matricola, String nome, String cognome, Date data) {
|
||||
|
||||
this.matricola = matricola;
|
||||
this.nome = nome;
|
||||
this.cognome = cognome;
|
||||
this.data = data;
|
||||
this.progetti = null;
|
||||
|
||||
}
|
||||
|
||||
public String getMatricola() {
|
||||
return matricola;
|
||||
}
|
||||
|
||||
public String getNome() {
|
||||
return nome;
|
||||
}
|
||||
|
||||
public String getCognome() {
|
||||
return cognome;
|
||||
}
|
||||
|
||||
public ArrayList<Progetto> getProgetto() {
|
||||
return progetti;
|
||||
}
|
||||
|
||||
public void setProgetto(ArrayList<Progetto> progetti) {
|
||||
this.progetti = progetti;
|
||||
}
|
||||
|
||||
public Date getData() {
|
||||
return data;
|
||||
}
|
||||
|
||||
public void addProgetto(Progetto p){
|
||||
progetti.add(p);
|
||||
}
|
||||
|
||||
public static Capoprogetto read(Scanner sc){
|
||||
String matricola, nome, cognome;
|
||||
Date data=null;
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
|
||||
|
||||
if(!sc.hasNextLine()) return null;
|
||||
matricola=sc.nextLine();
|
||||
if(!sc.hasNextLine()) return null;
|
||||
nome=sc.nextLine();
|
||||
if(!sc.hasNextLine()) return null;
|
||||
cognome=sc.nextLine();
|
||||
if(!sc.hasNextLine()) return null;
|
||||
try{
|
||||
data=sdf.parse(sc.nextLine());
|
||||
}
|
||||
catch(ParseException e){
|
||||
System.err.println("Impossibile leggere la data. Impostata a zero");
|
||||
data=new Date(0);
|
||||
}
|
||||
|
||||
return new Capoprogetto(matricola, nome, cognome, data);
|
||||
|
||||
}
|
||||
|
||||
public String toString(){
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
|
||||
return matricola+" "+nome+" "+cognome+" "+sdf.format(data);
|
||||
}
|
||||
|
||||
private String matricola;
|
||||
private String nome;
|
||||
private String cognome;
|
||||
private Date data;
|
||||
private ArrayList<Progetto> progetti;
|
||||
}
|
106
src/Temi d'esame/Progetto/Progetto.java
Normal file
106
src/Temi d'esame/Progetto/Progetto.java
Normal file
@ -0,0 +1,106 @@
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.text.ParseException;
|
||||
import java.util.Scanner;
|
||||
|
||||
public class Progetto {
|
||||
|
||||
public Progetto(String id, String matricola, Date inizio, Date fine, double importo) {
|
||||
super();
|
||||
this.id = id;
|
||||
this.matricola = matricola;
|
||||
this.inizio = inizio;
|
||||
this.fine = fine;
|
||||
this.importo = importo;
|
||||
this.capoprogetto = null;
|
||||
|
||||
}
|
||||
|
||||
public Date getInizio() {
|
||||
return inizio;
|
||||
}
|
||||
|
||||
public void setInizio(Date inizio) {
|
||||
this.inizio = inizio;
|
||||
}
|
||||
|
||||
public Date getFine() {
|
||||
return fine;
|
||||
}
|
||||
|
||||
public void setFine(Date fine) {
|
||||
this.fine = fine;
|
||||
}
|
||||
|
||||
public double getImporto() {
|
||||
return importo;
|
||||
}
|
||||
|
||||
public void setImporto(double importo) {
|
||||
this.importo = importo;
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getMatricola() {
|
||||
return matricola;
|
||||
}
|
||||
|
||||
public Capoprogetto getCapoprogetto() {
|
||||
return capoprogetto;
|
||||
}
|
||||
|
||||
public void setCapoprogetto(Capoprogetto capoprogetto) {
|
||||
this.capoprogetto = capoprogetto;
|
||||
}
|
||||
|
||||
public static Progetto read(Scanner sc){
|
||||
String id, matricola;
|
||||
Date inizio=null, fine=null;
|
||||
double importo=10000;
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
|
||||
|
||||
if(!sc.hasNextLine()) return null;
|
||||
id=sc.nextLine();
|
||||
if(!sc.hasNextLine()) return null;
|
||||
matricola=sc.nextLine();
|
||||
if(!sc.hasNextLine()) return null;
|
||||
try{
|
||||
inizio=sdf.parse(sc.nextLine());
|
||||
}
|
||||
catch(ParseException e){
|
||||
System.err.println("Impossibile leggere la data. Impostata a zero");
|
||||
inizio=new Date(0);
|
||||
}
|
||||
if(!sc.hasNextLine()) return null;
|
||||
try{
|
||||
fine=sdf.parse(sc.nextLine());
|
||||
}
|
||||
catch(ParseException e){
|
||||
System.err.println("Impossibile leggere la data. Impostata a zero");
|
||||
fine=new Date(0);
|
||||
}
|
||||
if(!sc.hasNextLine()) return null;
|
||||
importo = Double.parseDouble(sc.nextLine());
|
||||
|
||||
return new Progetto(id, matricola, inizio, fine, importo);
|
||||
|
||||
}
|
||||
|
||||
public String toString(){
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
|
||||
return id+" "+matricola+" "+sdf.format(inizio)+" "+sdf.format(fine)+" "+importo;
|
||||
}
|
||||
|
||||
private String id;
|
||||
private String matricola;
|
||||
private Date inizio;
|
||||
private Date fine;
|
||||
private double importo;
|
||||
private Capoprogetto capoprogetto;
|
||||
|
||||
|
||||
}
|
9
src/Temi d'esame/Progetto/ProgettoNonTrovato.java
Normal file
9
src/Temi d'esame/Progetto/ProgettoNonTrovato.java
Normal file
@ -0,0 +1,9 @@
|
||||
public class ProgettoNonTrovato extends RuntimeException{
|
||||
|
||||
public ProgettoNonTrovato(){}
|
||||
|
||||
public ProgettoNonTrovato(String msg){
|
||||
super(msg);
|
||||
}
|
||||
|
||||
}
|
48
src/Temi d'esame/Progetto/Segreteria.java
Normal file
48
src/Temi d'esame/Progetto/Segreteria.java
Normal file
@ -0,0 +1,48 @@
|
||||
import java.util.ArrayList;
|
||||
import java.util.Scanner;
|
||||
import java.util.Iterator;
|
||||
|
||||
public class Segreteria{
|
||||
|
||||
public Segreteria(Scanner scP, Scanner scCP){
|
||||
progetti = new ArrayList<Progetto>();
|
||||
capoprogetti = new ArrayList<Capoprogetto>();
|
||||
|
||||
Capoprogetto cp=Capoprogetto.read(scCP);
|
||||
while(cp!=null){
|
||||
capoprogetti.add(cp);
|
||||
cp=Capoprogetto.read(scCP);
|
||||
}
|
||||
|
||||
Progetto p=Progetto.read(scP);
|
||||
while(p!=null){
|
||||
try{
|
||||
cp=searchCapoprogetto(p.getMatricola());
|
||||
cp.addProgetto(p);
|
||||
p.setCapoprogetto(cp);
|
||||
}
|
||||
catch(ProgettoNonTrovato e){
|
||||
System.err.println(e.getMessage());
|
||||
}
|
||||
p=Progetto.read(scP);
|
||||
}
|
||||
}
|
||||
|
||||
private Capoprogetto searchCapoprogetto(String matricola){
|
||||
Iterator<Capoprogetto> iter = capoprogetti.iterator();
|
||||
Capoprogetto cp=null;
|
||||
boolean trovato=false;
|
||||
while(iter.hasNext() && !trovato){
|
||||
cp=iter.next();
|
||||
if (cp.getMatricola().equals(matricola))
|
||||
trovato=true;
|
||||
}
|
||||
|
||||
if(trovato)
|
||||
return cp;
|
||||
throw new ProgettoNonTrovato("Il capoprogetto: "+matricola+" non è stato trovato");
|
||||
}
|
||||
|
||||
private ArrayList<Progetto> progetti;
|
||||
private ArrayList<Capoprogetto> capoprogetti;
|
||||
}
|
Loading…
Reference in New Issue
Block a user