Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi A - F > Fondamenti di architettura e programmazione
 
[Laboratorio] Es x 11-12 ClasseTriangle
Clicca QUI per vedere il messaggio nel forum
[D]ani[J]
Discussioni sull'esercizio ClasseTriangle per l ' 11 - 12 - 03

gabry_deejay
i più intrapendenti?????? Ciao...dice a me???????

citrus
ragazzi non ho cpito una cosa:
i triangoli vanno costruiti chiedendo come parametri la lunghezza dei tre lati giusto?
allora come faccio a calcolare l'area?
devo per forza richiedere l'immissione di base ed altezza che mi mancano altrimenti non saprei....
oppure bisogna calcolare l'altezza usando qualche teorema tipo pitagora ... (ma anche qui come faccio a sapere quale dei tre lati è la base?)
bho....
secondo me l'unica è richiedere base e altezza all'utente ma non è che mi piaccia molto......
qualcuno ha una soluzione migliore della mia?
grazie
citrus

040381
Io ho esteso la classe rettangolo e richiedo base altezza e un altro parametro che è la distanza dell'altezza dal vertice destro della base e poi calcolo il perimetro con pitagora e l'area b*h/2

a me funziona bene

citrus
ok ma estendendo un rettangolo si suppone allora di trattare solo triangoli rettangoli, escludendo così gli isosceli e gli scaleni.....
non che per me sia un problema!!!!
però a questo punto non capisco a cosa ti serve richiedere la distanza dell'altezza dal vertice destro della base.....
con pitagora si trova il terzo lato e con questo si calcola il perimetro, mentre per l'area abbiamo già tutto!
giusto?

:D

citrus
ho dichiarato il costruttore in questo modo.....
ma mi da un errore....

public class Triangle extends Rectangle{
// CAMPI
private double lato1, lato2, lato3;

public Triangle (double x, double y){
lato1=x;
lato2=y;
lato3=Math.sqrt((lato1*lato1)+(lato2*lato2));
}
}


Triangle.java:19: cannot resolve symbol
symbol : constructor Rectangle ()
location: class Rectangle
public Triangle (double x, double y){
^
1 error

da cosa può dipendere?
grazie ciao

citrus
niente come non detto......
ora sono riuscito a fare praticamente tutto,
lunica cosa che non mi viene è sostituire la calsse Shape con quella da me creata.....
lo faccio ma non cambia nulla, come se la sostituzione non fosse andata a buon fine.......

foolish
se a qualcuno può servire, io ho usato queste formule di geometria piana, le ho trovate su un vecchio quaderno, all'ultima pagina.

sonno le formule per un triangolo scaleno, quindi vanno bene per tutti i triangoli.

allora con "2p" si indica il perimetro, quindi con "p" si indica mezzo-perimetro.

detti a un lato, b un altro, c l'ultimo.

2p = a + b + c

A = radice quadrata di ( p*(p-a)*(p-b)*(p-c) )

040381
ok ma estendendo un rettangolo si suppone allora di trattare solo triangoli rettangoli, escludendo così gli isosceli e gli scaleni.....
non che per me sia un problema!!!!
però a questo punto non capisco a cosa ti serve richiedere la distanza dell'altezza dal vertice destro della base.....
con pitagora si trova il terzo lato e con questo si calcola il perimetro, mentre per l'area abbiamo già tutto!
giusto?

:D

Non è giusto perchè la distanza dell'altezza dal vertice può andare da più infinito a meno infinito, lasciando invariata l'area ma cambiando di brutto il perimetro.

Il mio costruttore è così:

public Triangle(double h, double w, double d) { // costruttore
super(h, w);
distance = d;
}

Ricordo che ho esteso la classe rettangolo
(class Triangle extends Rectangle)

e per calcolare il perimetro :

  lato1= radiceQuadrata((distanza-base)²+altezza²)
  lato2= radiceQuadrata(distanza²+altezza²)
  p= lato1+lato2+base

supernova
raga io la classe me la compila, ma quando lo testo su SortPolymorphicArray2 se metto di calcolare il perimetro me lo fa. Ma L'area NO!!!!!! HELPE ME!!!!! Io faccio così:

cateto1,cateto2,ipotenusa,p,area le ho dichiarate tutte private double

public double calculatePerimeter() {
p = cateto1+cateto2+ipotenusa;
return p;
}

public double calculateArea() {
area = Math.sqrt(((p/2)*cateto1)*((p/2)*cateto2)*((p/2)*ipotenusa));
return area;
}
}

foolish
prova a mettere in una variabile il valore del perimetro fratto 2.

040381
così dovrebbe andare

public double calculateArea() {
area = Math.sqrt(((calculatePerimeter()/2)*cateto1)*((calculatePerimeter()/2)*cateto2)*((calculatePerimeter()/2)*ipotenusa));
return area;
}

citrus
ok fin qui ci siamo....
ora però ho provato ad inserire nella classe Triangle anche un metodo main per testare tutti gli altri metodi.....
e qui mi da questo errore:
"Exception in thread "main" java.lang.NoSuchMethodError: main"
come se non trovasse il metodo main.....
eppure mi sembra tutto giusto..........
succede solo a me o è già capitato anche a qualcun'altro?
:pccrash:

.... denghiuuuuuuu!

foolish
Originally posted by citrus
ok fin qui ci siamo....
ora però ho provato ad inserire nella classe Triangle anche un metodo main per testare tutti gli altri metodi.....
e qui mi da questo errore:
"Exception in thread "main" java.lang.NoSuchMethodError: main"
come se non trovasse il metodo main.....
eppure mi sembra tutto giusto..........
succede solo a me o è già capitato anche a qualcun'altro?
:pccrash:

.... denghiuuuuuuu!


hai controllato di aver scritto tutta l'intestazione del main e quindi
code:
public static void main(String[] args) { ecc ecc... }


e di averlo inserito ALL'INTERNO della classe Triangle. Mi sa che l'errore potrebbe essere uno di questi due.

citrus
bella foolish!!!
... no magari, il problema è che mi sembra proprio tutto giusto!
solo su una cosa non sono sicuro....
per la scrittura del main instanzio degli oggetti ConsoleInputManager ecc. che importo prima dell'intestazione....
dovrebbe essere "legale" giusto?
... e comunque mi darebbe un altro errore quindi.....

provo a postare il codice che è meglio:

XXX




:D
grrrazie!!

foolish
Originally posted by citrus
bella foolish!!!
... no magari, il problema è che mi sembra proprio tutto giusto!
solo su una cosa non sono sicuro....
per la scrittura del main instanzio degli oggetti ConsoleInputManager ecc. che importo prima dell'intestazione....
dovrebbe essere "legale" giusto?
... e comunque mi darebbe un altro errore quindi.....

provo a postare il codice che è meglio:

import prog.io.*;
class Triangle{

...

}



:D
grrrazie!!



sul mio riesco a compilarlo....

devessere un problema sul tuo compilatore se ti dà un errore

gabry_deejay
ma quello di ZiO Citrus allora è giusto?

citrus
Originally posted by foolish
sul mio riesco a compilarlo....

devessere un problema sul tuo compilatore se ti dà un errore



... anch'io riesco a compilarlo, l'errore me lo da in esecuzione...
prova un po' ad eseguirlo anche tu......
così vediamo che ti dice!


Originally posted by gabry_deejay
ma quello di ZiO Citrus allora è giusto?


credo di si, a parte il metodo main......

:)

foolish
ho ovviamente controllato anche che partisse, e parte ...

ripeto il problema deve essere "tuo".

foolish
ho ovviamente controllato anche che partisse, e parte ...

ripeto il problema deve essere "tuo".

gabry_deejay
Originally posted by citrus
... anch'io riesco a compilarlo, l'errore me lo da in esecuzione...
prova un po' ad eseguirlo anche tu......
così vediamo che ti dice!




credo di si, a parte il metodo main......

:)


Io riesco a compilarlo e ad eseguirlo.....!

foolish
Originally posted by gabry_deejay
ma quello di ZiO Citrus allora è giusto?


mi dispiace dirlo ma non bisogna più postare esercizi già svolti, perchè qualche prof. se la potrebbero prendere abbastanza se scopre una roba del genere.

Citrus per favore edita il post e cancella il sorgente.
:sad:

gabry_deejay
Originally posted by foolish
mi dispiace dirlo ma non bisogna più postare esercizi già svolti, perchè se la potrebbero prendere abbastanza se scoprono una roba del genere.

Citrus per favore edita il post e cancella il sorgente.
:sad:


Hai ragione.......:cry: :cry: :cry: :cry:
Però a me funziona...quindi penso che sia come dici tu,Foolish, deve essere un suo problema nel suo PC....ma tutto ciò mi sa di strano........

Ti ricordo che ti devo una birra.......quando?

citrus
Originally posted by foolish
mi dispiace dirlo ma non bisogna più postare esercizi già svolti, perchè se la potrebbero prendere abbastanza se scoprono una roba del genere.

Citrus per favore edita il post e cancella il sorgente.
:sad:



hai ragione... pardon!
:D

comunque mi sembra veramente strano, non ho mai avuto problemi finora.......
mah, ora riprovo!
:?

foolish
sono usciti i nuovi esercizi ....

uuuuuuuh

citrus
li ho appena visti anch'io...
pesanti!!!
:shock:

Pupino
Qualcuno mi sà dire l' intestazione di questo programma? Credo di aver fatto un bel casino....
grazie!

foolish
Originally posted by Pupino
Qualcuno mi sà dire l' intestazione di questo programma? Credo di aver fatto un bel casino....
grazie!


code:
class Triangle extends Shape { ........ }

Pupino
Ottimo, ma prima che ci va? :)

foolish
Originally posted by Pupino
Ottimo, ma prima che ci va? :)


nulla

Pupino
/tmp/submission3GF9hm/fileJ9JOTs.java:2: class triangle is public, should be declared in a file named triangle.java
public class triangle extends Shape {
^
1 error


Che errore può essere? :(

gabry_deejay
togli public

Pupino
Gabry ti posso sposare? :lol:

gabry_deejay
Originally posted by Pupino
Gabry ti posso sposare? :lol:




:shock: Perchè ti dett di togliere public o perchè hai guardato ammirevolmente il tuo ControlPanel ? :shock:

Pupino
L' ho guardato ora.......
vabbè sposare allora è ancora poco..... :D

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate