Ciao a tutti, ora vi spiego il mio problema, praticamente ho problemi nelllo sviluppare il codice di saldoTitolare e di saldoPiuAlto.
Ciao e grazie anticipatemente dell'aiuto.
In saldoTitolare mi viene restituito questo errore: C:\Documents and Settings\gianni\Desktop\gianni\java uni\Esame\ContoCorrente.java:49: missing return statement
}
codice:
/** Classe ContoCorrente: descrive un conto corrente*/
public class ContoCorrente {
private int numero;
private Persona [] titolari;
private int saldo;
/** Costruttore */
public ContoCorrente(int numero, Persona [] titolari, int saldo) {
this.numero = numero;
this.titolari = titolari;
this.saldo = saldo;
}
public String toString(){
String testo = "cc: " + numero + " Saldo: "+ saldo+ " \n intestato a: \n";
for (int i=0; i<titolari.length; i++)
testo +=titolari[i].toString()+"\n";
return testo;
}
/**
Implementare il metodo
public int saldoTitolare (Persona p)
che restituisce il saldo di questo conto corrente se la persona "p" e' uno dei titolari
del conto corrente stesso; altrimenti, quando la persona "p" non e' uno dei titolari
di questo conto corrente, il metodo restituisce -1.
*/
public int saldoTitolare (Persona p){
/*implementare il metodo*/
int i;
for(i=0; i < titolari.length; i++){
if (titolari[i].getCognome().equals(p.getCognome())){
saldo = this.saldo; //non so cosa bisognerebbe mettere
return saldo;
}
else return -1;
}
}
}
codice:
public class EsameContoCorrente {
public static void main(String[] args) {
Persona [] v1 = new Persona [2];
v1[0] = new Persona("Mario", "Rossi");
v1[1] = new Persona("Luca", "Bianchi");
Persona [] v2 = new Persona[1];
v2[0] = new Persona("Italo", "Verdi");
Persona [] v3 = new Persona [3];
v3[0] = new Persona("Giacomo", "Gialli");
v3[1] = new Persona("Filippo", "Violetti");
v3[2] = new Persona("Emanuele", "Marroni");
ContoCorrente [] banca = new ContoCorrente[3];
banca[0] = new ContoCorrente(123, v1, 1230);
banca[1] = new ContoCorrente(234, v2, 1343);
banca[2] = new ContoCorrente(345, v3, 905);
for (int i=0; i<banca.length; i++)
System.out.println(banca[i]);
System.out.println();
// L'array di stringhe, chiamato "cognomi", deve essere riempito
// con 5 cognomi.
System.out.println("Inserisci un 5 elenco di cognomi");
String[] cognomi = ArrayUtil.readStringArray();
Persona [] amici = new Persona[5];
amici[0] = new Persona("Mario", cognomi[0]);
amici[1] = new Persona("Luca", cognomi[1]);
amici[2] = new Persona("Italo", cognomi[2]);
amici[3] = new Persona("Filippo", cognomi[3]);
amici[4] = new Persona("Emanuele", cognomi[4]);
int piuAlto = saldoPiuAlto(banca, amici);
if (piuAlto==-1) System.out.println("Nessuna delle persone inserite ha un conto in banca");
else System.out.println("Tra le persone inserite, il saldo piu alto e' "+ piuAlto);
}//main
/**Implementare il metodo
public static int saldoPiuAlto(ContoCorrente[] conti, Persona [] titolari)
che restituisce il saldo piu' alto fra i conti correnti in "conti" che sono intestati
ad almeno uno delle persone in "titolari". Se nessuno dei conti correnti in "conti" e'
intestato a persone in "titolari" il metodo restituisce -1.
Utilizzare il metodo saldoTitolare (da implementare nella classe ContoCorrente) per stabilire
il saldo di un conto corrente intestato ad una data persona.
*/
public static int saldoPiuAlto(ContoCorrente[] conti, Persona [] titolari){
/* sviluppare il codice del metodo */
int i;
int max = conti[i];
for(i=0; i < conti.length; i++) {
if(conti[i].saldoTitolare(cognome))
if (conti[i] > max) max = conti[i];
return max;
}
}
codice:
/** Classe Persona: descrive persone.
*/
public class Persona {
private String nome;
private String cognome;
/** Costruttore di Default vuoto */
public Persona() {
nome = " ";
cognome =" ";
}
/** Costruttore con parametri*/
public Persona(String nomeP,String cognomeP) {
nome = nomeP;
cognome = cognomeP;
}
public String getNome () {
return nome;
}
public String getCognome() {
return cognome;
}
public String toString() {
return "Nome : " + nome + " Cognome : " + cognome;
}
}// fine definizione classe