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