Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 50

Discussione: Progetto in Java

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    82

    Progetto in Java

    Salve ragazzi, devo fare un progetto in Java solo che non riesco a capire quali sono le classi e i metodi più giusti da usare, mi sarebbe molto utile se qualcuno del forum mi aiutasse a definirli.
    Il progetto consiste nel calcolare il perimetro di triangoli inseriti in input, in modo tale che quando due triangoli si intersecano il perimetro viene calcolato dal punto d'intersezione in poi (allegherò l'immagine per maggiori chiarimenti), in input vengono dati il picco del triangolo, l'altezza e la lunghezza della base, sapendo che il triangolo che si andrà a formare è sempre isoscele, come output appunto bisogna trovare il perimetro di tutti i triangoli..spero di essere stato abbastanza chiaro nella descrizione, comunque per darvi meglio un idea vi allego in dettaglio la descrizione con la relativa immagine di un esempio di output(nell'immagine è presente anche la descrizione che più o meno ho cercato di spiegare, è inglese ma comunque si capisce),
    grazie in anticipo

    l'immagine che allego si vede un pò male in caso se non riuscite a capire ve la mando per email
    Immagini allegate Immagini allegate

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    butta giù qualcosa e poi se ne discute

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    82
    Questo è quello che avevo iniziato:

    public class Point {
    private int x;
    private int h;
    Point(int x,int h){
    this.x=x;
    this.h=h;
    }
    Point(){
    x=0;
    h=0;
    }
    public int getX() {
    return x;
    }
    public void setX(int x) {
    this.x = x;
    }
    public int getH() {
    return h;
    }
    public void setH(int h) {
    this.h = h;
    }
    }



    public class TriangoloIsoscele {
    private int b;//base
    private int x;//ascissa
    private int h;//altezza(l'ordinata)
    private double l;//lungheza del lato
    TriangoloIsoscele(int x, int h,int b){
    this.x=x;
    this.h=h;
    this.b=b;
    }
    public double lunghezzaLato(){
    double b1=x-(b/2); //trovo il vertice sinistro della base
    l=Math.sqrt(Math.pow(b1-x, 2.0)+Math.pow(0-h,2.0));
    return l;
    }
    }

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    82
    comunque alla fine non mi serve tanto il codice, quello mi arrangio, mi servirebbe un pò l'impostazione del problema, tipo le classi sicure le interfacce i metodi e cosi via

  5. #5
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    perfetto, la classe Poin è ok a parte quell'h che è un po' bruttino
    io avrei fatto x,y come nella notazione scientifica (x ordinate e y ascisse)

    invece per quanto riguarda il triangolo non sono molto daccordo, ma ne ragioniamo domani ora vado a letto

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    io invece di creare la classe Triangolo in questo modo, farei una cosa generica:
    Il triangolo si caratterizza per 3 vertici, in particolare 3 punti

    codice:
    public class Triangolo{
        Point point1; 
        Point point2;
        Point point3; 
    
        public Triangolo(Point point1, Point point2, Point point3){
       }
    }
    e poi derivare da triangolo per i triangoli particolari: in fondo un triangolo rettangolo/isoscele ha determinate caratteristiche, ma sempre 3 vertici.
    I lati li trovi come distanza tra punti (semplice da calcolare)

    Poi che vuole dire avere il picco del triangolo? che te ne fai se hai le misure? dovresti fare secondo me un discorso matematico rigoroso prima di scriverlo in java

  7. #7
    Originariamente inviato da valia
    ...
    Poi che vuole dire avere il picco del triangolo? che te ne fai se hai le misure?
    ...
    La cosa aveva tratto in inganno anche me, ma credo si riferisca al valore dell'ascissa sul quale cade il vertice (picco) del triangolo. Tale info serve per capire se i triangoli si intersecano o meno.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #8
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    in ogni caso se i dati che devi prendere in inpout sono quelli che dici devi poi trovare un modo per "trasformarli" in tre punti

    ovvero fai un costruttore

    codice:
    TriangoloIsoscele(int x, int h,int b){
    {
       //operazione con x,h,b per trovare ascissa ordinata primo punto
       Point point1=new Point(ascissa,ordinata);
       etc etc   
    }

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    82
    grazie a tutti per l'aiuto che mi state dando, tornando a noi comunque
    il picco del triangolo è il vertice più alto, la punta in pratica, comunque sia dalla foto non riuscite a leggere ma dice che ogni triangolo è isoscele allora io avevo creato quella classe apposta, ora la nuova classe triangolo va benissimo, ci sono alcune cose che non mi quadrano, per esempio il metodo distanza tra due punti dove l'ho metto, oppure il metodo di controllo se i triangoli si intersacano???io avevo pensato di fare un interfaccia a proposito ma era solo un idea butta cosi,
    un altra perplessità è che il problema dice che input bisogna l'utente da la lunghezza della passe l'altezza e l'ascissa, usando la classe point io gli passo un punto, dovrebbe essere uguale in teoria però bho voi che dite???

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    non sei tanto pratico di programmazione ad oggetti, vero?
    Allora io metterei la distanza o come proprietà di Point (quanto un punto dista da un altro) oppure un metodo di utility in una classe di utility che presi due punti ritorna la distanza. Uno vale l'altro dal punto di vista pratico (non dal punto di vista di stesura dell'oggetto/modellazione).

    Poi il vertice in alto lo puoi considerare come proprietà di point (che è true se è in alto, false al contrario.

    Se due triangoli si interescano, calcola i punti di intersezione, l'area la ottieni sommando le distanze dei vari segmenti

    vertice1 - interesezione
    intersezione vertice2
    e gli altri lati ovviamente
    non so se hai capito il discorso.

    Poi l'intersezione è in un solo punto???

    Ribadisco è un problema che prima devi risolvere matematicamente

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.