PDA

View Full Version : il mio esame di fondamenti


Ja]{|e
17-11-2002, 13:35
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

cionci
17-11-2002, 19:44
Ora io non sono un esperto di Java, ma credo che bastasse un semplice cast (se esplicito o non esplicito non lo so)...

verloc
18-11-2002, 17:25
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 ;)

cn73
18-11-2002, 17:33
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:

Ja]{|e
22-11-2002, 17:50
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