Originariamente inviato da francesco.muia
Secondo me il problema sta proprio nel metodo StampaDipendenti potresti postare anche questo ?
POSTO TUTTO IL PACKAGE GESTORE:
codice:
package GESTORE;
public abstract class Dipendente{
protected String Nome;
protected String Cognome;
public abstract String Stampa();
public String getCognome(){return Cognome;}
}
codice:
public class Manager extends Dipendente {
private Progetto P;
private String Nome;
private String Cognome;
public Manager(String N,String C){
Nome = N;
Cognome = C;
}
public void setProgetto(Progetto p){
P = p;
}
public String Stampa() {
String tmp="";
tmp = tmp + "Nome: " + Nome + "\n";
tmp = tmp + "Cognome: "+Cognome + "\n";
tmp = tmp + "Ruolo: Manager" + "\n";
return tmp;
}
}
codice:
public class Programmatore extends Dipendente{
private Componente C;
private String Nome;
private String Cognome;
public Programmatore(String N,String Co){
Nome = N;
Cognome = Co;
}
public void SetComponente(Componente c){
C=c;
}
public String Stampa(){
String tmp="";
tmp = tmp + "Nome: " + Nome + "\n";
tmp = tmp + "Cognome: "+Cognome + "\n";
tmp = tmp + "Ruolo: Programmatore" + "\n";
return tmp;
}
}
codice:
public class Componente {
private String Nome;
private String Linguaggio;
public Componente(String N,String L){
Nome = N;
Linguaggio = L;
}
public String stampa(){
String tmp="";
tmp = tmp + "Nome: " + Nome + "\n";
tmp = tmp + "Linguaggio: "+ Linguaggio + "\n";
return tmp;
}
}
codice:
import java.util.ArrayList;
public class Progetto {
private String Nome;
private String Descrizione;
private ArrayList<Componente> Componenti = new ArrayList<Componente>();
public String getNome(){return Nome;}
public String getDescrizione(){return Descrizione;}
public Progetto(String N,String D){
Nome = N;
Descrizione = D;
}
public void setComponente(Componente Comp){
Componenti.add(Comp);
}
public String stampa(){
String tmp="";
tmp = tmp + "Nome: " + Nome + "\n";
tmp = tmp + "Descrizione: "+ Descrizione + "\n";
return tmp;
}
}
codice:
import java.util.ArrayList;
public class Gestore {
private ArrayList<Dipendente> P = new ArrayList<Dipendente>();
private ArrayList<Progetto> Prog = new ArrayList<Progetto>();
private ArrayList<Componente> C = new ArrayList<Componente>();
public void InserisciManager(String NOME,String COGNOME){
Manager M = new Manager(NOME,COGNOME);
P.add(M);}
public void InserisciProgrammatore(String NOME,String COGNOME){
Programmatore Prog = new Programmatore(NOME, COGNOME);
P.add(Prog);}
public boolean CancellaDipendente(String Cognome){
boolean prop = false;
int i = 0;
while(i<P.size() && prop==false){
if(P.get(i).getCognome()==Cognome)
{
prop = true;
P.remove(i);
return prop;
}
else
i++;
}
return prop;
}
public String StampaDipendenti(){
String tmp = "";
for(int i=0;i<P.size();i++){
tmp = tmp + "\n" + P.get(i).Stampa();
}
return tmp;
}
public void InserisciProgetto(String NOME,String DESCRIZIONE){
Progetto pr = new Progetto(NOME,DESCRIZIONE);
Prog.add(pr);
}
public void InserisciComponente(String NOME,String LINGUAGGIO){
Componente comp = new Componente(NOME, LINGUAGGIO);
C.add(comp);
}
public boolean CancellaProgetto(String NOME){
boolean prop = false;
int i = 0;
while(i<Prog.size() && prop==false){
if(Prog.get(i).getNome()==NOME)
{
prop = true;
Prog.remove(i);
return prop;
}
else
i++;
}
return prop;
}
public String StampaProgetti(){
String tmp = "";
for(int i=0;i<Prog.size();i++){
tmp = tmp + "\n" + Prog.get(i).stampa();
}
return tmp;
}
public void AssociaProgtoStud(String A,String b){
}
public String StampaComponenti(){
String tmp = "";
for(int i=0;i<C.size();i++){
tmp = tmp + "\n" + C.get(i).stampa();
}
return tmp;
}
}
TI RIPETO SE FACCIO SYSTEM.OUT.PRINTLN(G.STAMPADIPENDENTI()) MI SAMPA EFFETTIVAMENTE CIO' CHE VOGLIO MA IO VORREI CHE LA STRINGA VENGA INVIATA AL CLIENT E LETTA LI.