Salve a tutti.
Apro questo topic per richiedere chiarimenti riguardo il metodo String toString() che dovrebbe di norma fornirmi una descrizione, in modo testuale, dello stato di un oggetto.
Sò che tipicamente, di un oggetto si vogliono stampare i valori delle variabili d'istanza, ed eventualmente una intestazione.. ma in che modo farlo?
Faccio questa domanda in merito alla richiesta di un esercizio che prevede, attraverso l'artificio di quest'ultimo metodo, la stampa di parametri.
il compilatore mi segnala che non posso stampare queste variabili, essendo private, nel metodo di appartenenza.. è solo quello il problema? non credo.
Posto ora qui sotto l'implementazione parziale (relativa ad un solo parametro); spero possiate essermi di aiuto.
Grazie molte
public class Main {
public static void main(String[] args) {
System.out.println("Descrizione del triangolo");
}
public String toString() {
TriangoloEquilatero.calcolaax();
return "Punto 1: x= " +TriangoloEquilatero.ax;
}
}
/*rappresentazione di un triangolo equilatero su un piano bidimensionale*/
import fiji.io.*;
public class TriangoloEquilatero {
//variabili d'istanza
private double x1, y1, x2, y2, x3, y3;
//costruttore triangolo equilatero
/* Crea un nuovo Triangolo con vertici le cui
* coordinate x1, y1, x2, y2, x3, y3
* sono rispettivamente ax, ay, bx, by, cx, cy. */
public TriangoloEquilatero (double ax, double ay, double bx, double by, double cx, double cy) {
// pre: ax>0, ay>0, bx>0, by>0, cx>0, cy>0
this.x1 = ax;
this.y1 = ay;
this.x2 = bx;
this.y2 = by;
this.x3 = cx;
this.y3 = cy;
}
//lettura ax
public int calcolaax() {
int ax;
System.out.println("ax è: ");
ax=Lettore.in.leggiInt();
return ax;
}