Definizione classe TriangoloEquilatero

di il
3 risposte

Definizione classe TriangoloEquilatero

Salve a tutti nuovamente.
Svolgendo un esercizio, la quale richiesta è la definizione di una classe TriangoloEquilatero il cui stato consista nella lunghezza del suo lato e sia capace di calcolare il suo lato e il suo perimetro, mi sono trovato nella condizione di dover definire una classe di interfaccia che dati dei parametri di input, visualizzasse il risultato sullo schermo, non sò se la caratterizzazione di questa classe "main" debba corrispondere ad un'eventuale classe di test o sono semplicemente due cosi differenti; Provo a spiegarmi: Come descrivo la classe? Con un opportuno metodo d'istanza del tipo String toString()? se si dove/come lo istanzio nel main?
Non mi dispiacerebbe avere chiarimenti in merito se possibile.
Posto in ultimo il codice, già compilato correttamente, qui sotto. Grazie Molte!
/*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;
}
    /* Calcola il perimetro del triangolo. */
    public double perimetro() {
    double d; //distanze tra i vertici
    double perimetro; // perimetro del triangolo

    /* calcola le distanze tra i vertici */
    d = Misuratore.distanza(this.x1, this.y1, this.x2, this.y2);
    /* calcola il perimetro del triangolo */
    perimetro = d*3;
    /* restituisce il perimetro */
    return perimetro; }
    }


/* Oggetto che sa calcolare la distanza tra due punti. */
class Misuratore {

 /* Calcola la distanza tra i punti p1 e p2
 * di coordinate (p1x,p1y) e (p2x,p2y) */
 public static double distanza(double p1x, double p1y, double p2x, double p2y ) {

 double qd; // quadrato della distanza tra p1 e p2
 double d; // distanza tra p1 e p2
 /* calcola il quadrato della distanza tra p1 e p2 */
 qd = (p1x-p2x)*(p1x-p2x) + (p1y-p2y)*(p1y-p2y);
 /* calcola la distanza tra p1 e p2 */

 d = Math.sqrt(qd);
 /* restituisce la distanza tra p1 e p2 */

 return d;
 }
}

3 Risposte

  • Re: Definizione classe TriangoloEquilatero

    Non ho capito cosa vuoi sapere o.o
  • Re: Definizione classe TriangoloEquilatero

    lukyluke93 ha scritto:


    Svolgendo un esercizio, la quale richiesta è la definizione di una classe TriangoloEquilatero il cui stato consista nella lunghezza del suo lato e sia capace di calcolare il suo lato e il suo perimetro
    Innanzitutto se deve essere un triangolo equilatero, passare esplicitamente x/y dei 3 vertici ..... non è molto coerente ....
  • Re: Definizione classe TriangoloEquilatero

    Non ho capito cosa vuoi sapere o.o
    Scusami chia995 ma penso di essermi espresso correttamente evidenziando il problema (definizione di una classe Main per la visualizzazione di parametri).. puoi entrare un pizzico in più nel particolare quando ritieni di non aver capito la mia richiesta? grazie.
    Innanzitutto se deve essere un triangolo equilatero, passare esplicitamente x/y dei 3 vertici ..... non è molto coerente ....
    Tre no ma due si, il problema inoltre non è quello: 1) l'operazione descritta come "distanza" della classe misuratore coinvolge solo 4 parametri.. 2) Anche eseguendo il programma con 6 parametri assegnati ansichè quattro, durante le operazioni di lettura, potrei al massimo ottenere un errore logico che comporta come risultato un altro tipo di triangolo; ma ti ripeto che comunque non è quello il problema. 3)anche fosse un errore di natura logica, dovrei prima in qualche modo poterlo eseguire per identificarlo; da qui nasce la mia domanda, come caratterizzare il metodo "main"?
    Ora, c è qualcuno che sia in grado di aiutarmi o quantomeno rispondere in maniera inerente alla mia domanda? ne sarei molto felice; Grazie ancora
Devi accedere o registrarti per scrivere nel forum
3 risposte