Come al solito ho cercato qualcosa in cerca ma non ho trovato niente (mi sa che so interdetto io con il tasto di ricerca ><).
Vi espongo il mio problema:
L'esercizio mi chiede di progettare una classe per impaginare una semplice lettera. Il costruttore riceve come parametri il nome del mittente e quello del destinatario, progettare un metodo per aggiungere una riga di testo al contenuto della letterea e un metodo che restituisca l'intero testo della lettera.
Il testo della lettera ha il seguente formato:
Dear destinatario:
riga vuota
prima riga del contenuto della lettera
seconda riga del contenuto della lettera
...
ultima riga del contenuto della lettera
riga vuota
Sincery,
riga vuota
mittente.
Io ho fatto cosi:
package cap3;
/**
*
* Impagina una lettere, ne aggiunge righe di testo e mostra il contenuto della lettera
*
*/
public class Letter
{
/**
* Impagina una lettera
* @param nmittente il nome del mittente
* @param ndestinatario il nome del destinatario
*/
public Letter(String nmittente, String ndestinatario)
{
mittente = ("Dear " + nmittente + "\n" + "\n");
destinatario = ("\n" + "\n" + "Sincery, " + "\n" + "\n" + ndestinatario);
Lettera = "";
}
/**
* Aggiunge una riga di testo alla lettera
* @param line testo da aggiungere alla lettera
*/
public void addLine(String line)
{
Lettera = mittente + line + destinatario;
}
/**
* Identifica l'intero contenuto della lettera
* @return Lettera contenuto della lettera
*/
public String getText()
{
return Lettera;
}
private String mittente;
private String destinatario;
private String Lettera;
}
solo che se provo ad aggiungere piu righe il programma semplicemente mi sovrascrive il testo e non lo aggiunge alla prossima riga, ad esempio se scrivo questo programma di collaudo:
package cap3;
public class LetterTester
{
public static void main(String[] args)
{
Letter lettera = new Letter("John", "Mary");
lettera.addLine("Im sorry we must part.");
lettera.addLine("I wish you all the best");
System.out.println(lettera.getText());
}
}
mi restituisce:
Dear John
I wish you all the best
Sincery,
Mary
Come posso fare per ottenere il risultato sperato? e cioe aggiungere semplicemente piu righe? Grazie anticipatamente per le risposte.

Rispondi quotando