View Full Version : il mio esame di fondamenti
Il testo era di creare una applet ke kiedeva in input due coordinate ke rappresentavano il centro di una circonferenza, e il raggio della circonferenza stessa.
L'applet doveva disegnare la circonferenza, e poi kiedere una serie di input fino a quando il punto inserito non si trovava a meno di un quarto di raggio di distanza dal centro, e dare in uscita non solo la circonferenza, ma disegnato l'ultimo punto inserito (ovvero quello a meno di un quarto) e una stringa ke dice quanti punti sono stati inseriti.
Il prof voleva usata la distanza tra due punti. ma, a parte il fatto ke ancora non capisco come e dove andava usata sta distanza, mi domandavo anke come facevo ad applicarla, dato ke lo sqrt si usa con numeri double mentre io utilizzavo numeri int, forse dovevo ma non sono riuscita a promuovere in double e poi riportarli in int
Ora io non sono un esperto di Java, ma credo che bastasse un semplice cast (se esplicito o non esplicito non lo so)...
La distanza (d) è fra il punto input e il centro della circonferenza.
Quando d<0.25R la condizione è soddisfatta.
d=((xi-xc)^2+(yi-yc)^2)^0.5 ;)
Toglimi una curiosità...a questi esami vi fanno usare qualche manuale o documentazione sulle API?
neuromatrix
18-11-2002, 23:33
visto che Math.sqrt(double a) richiede un argomento di tipo double, basta fare un cast (come ti suggeriva cionci) come questo
mettiamo che le tue variabili siano
int i = 10;
double d;
//ponendo
d = (double)i;
il tuo intero i viene trasformato in double nella variabile d
per evitare errori ti conviene trasformare gli interi in double e poi utilizzarli come argomento di Math.sqrt
se ad esempio le tue variabili sono
x1
x2
y1
y2
fai il cast mettendole in altre variabili double
xd1 = (double) x1;
...
...
yd2 = (double) y2;
poi utilizzi l'istruzione
double risultato = Math.sqrt(Math.pow(xd1-xd2,2)+Math.pow(yd1-yd2,2));
ecco il listato di esempio:
public class Distanza{
public static void main(String[] args){
int x1=1;
int x2=2;
int y1=5;
int y2=6;
//fai il cast mettendole in altre variabili double
double xd1 = (double) x1;
double xd2 = (double) x2;
double yd1 = (double) y1;
double yd2 = (double) y2;
//poi utilizzi l'istruzione
double risultato = Math.sqrt(Math.pow(xd1-xd2,2)+Math.pow(yd1-yd2,2));
System.out.println(risultato);
}
}
Ciao
se hai problemi chiedi pure...:);)
neuromatrix
18-11-2002, 23:46
ho dato un'occhiata al tuo sito...
a proposito, se vuoi qualche lezione privata di Java non hai che da chiedere:) :cool:
Originariamente inviato da neuromatrix
visto che Math.sqrt(double a) richiede un argomento di tipo double, basta fare un cast (come ti suggeriva [B]cionci) come questo
mettiamo che le tue variabili siano
int i = 10;
double d;
//ponendo
d = (double)i;
il tuo intero i viene trasformato in double nella variabile d
per evitare errori ti conviene trasformare gli interi in double e poi utilizzarli come argomento di Math.sqrt
se ad esempio le tue variabili sono
x1
x2
y1
y2
fai il cast mettendole in altre variabili double
xd1 = (double) x1;
...
...
yd2 = (double) y2;
poi utilizzi l'istruzione
double risultato = Math.sqrt(Math.pow(xd1-xd2,2)+Math.pow(yd1-yd2,2));
ecco il listato di esempio:
public class Distanza{
public static void main(String[] args){
int x1=1;
int x2=2;
int y1=5;
int y2=6;
//fai il cast mettendole in altre variabili double
double xd1 = (double) x1;
double xd2 = (double) x2;
double yd1 = (double) y1;
double yd2 = (double) y2;
//poi utilizzi l'istruzione
double risultato = Math.sqrt(Math.pow(xd1-xd2,2)+Math.pow(yd1-yd2,2));
System.out.println(risultato);
}
}
Ciao
se hai problemi chiedi pure...:);)
ah ecco, l'unica lezione di fondamenti ke ho saltato era giusto su come fare il cast :D
kmq ci ha fatto usare solo il deitel, no dispense no manuali no appunti
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.