|
| Kalde en metode med et objekt og få objekt~ Fra : Peter |
Dato : 11-05-02 17:09 |
|
Hej igen NG
Et nyt problem.
Jeg har endnu et problem.
jeg har en klasse med denne metode:
public boolean modify(Point p){
double x = p.getX();
double y = p.getY();
double xFinal = Math.pow(x, 2);
double yFinal = Math.pow(y, 2);
p.setX(xFinal);
p.setY(yFinal);
return (xFinal > 2);
}
Jeg kalder denne metode fra en anden klasse hvor jeg har oprettet et
objekt convert.
Her ser koden således ud:
public Point p = new Point(2,2);
boolean mod = convert.modify(p);
Her ville jeg så gerne have at Point p nu havde værdien (4,4), men
dette er ikke tilfældet, faktisk får den nogle gange værdien NaN som
jo ikke er meningen.
Hvordan kan man løse problemet?
Venlig hilsen
Peter
| |
Lars Dam (11-05-2002)
| Kommentar Fra : Lars Dam |
Dato : 11-05-02 20:04 |
|
On Sat, 11 May 2002 18:09:18 +0200, Peter <anskjaer_remove@omk.dk>
wrote:
>public Point p = new Point(2,2);
>boolean mod = convert.modify(p);
>
>Her ville jeg så gerne have at Point p nu havde værdien (4,4), men
>dette er ikke tilfældet, faktisk får den nogle gange værdien NaN som
>jo ikke er meningen.
Det lyder suspekt - resultatet skulle gerne være det samme hver gang -
er det tilfældige resultat værdier du får, når du fyrer 2,2 af, eller
bruger du forskelllige input værdier? - hvis det er den samme konstant
du bruger og får forskelligt output, så er der noget alvorligt galt.
Ellers vil pow() funktionen godt resultere i at du får NaN, hvis input
er en for høj værdi. Check pow() funktionen for at se hvilke
kombinationer der giver NaN, og check om dine inputværdier opfylder
een af disse situationer.
>Hvordan kan man løse problemet?
Check dine input parameter, debug dem?
vh. ld
| |
Bertel Lund Hansen (12-05-2002)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 12-05-02 07:21 |
|
Peter skrev:
>jeg har en klasse med denne metode:
Jeg forstår ikke hvordan dine klasser, objekter og metoder hænger
sammen. Kan du ikke udvide beskrivelsen med klasser, ca. sådan
her:
class A {
public boolean modify(Point p)
....
}
class B {
....
A convert = new A();
}
eller hvordan det nu hænger sammen.
--
Bertel
http://lundhansen.dk/bertel/ FIDUSO: http://fiduso.dk/
| |
Anders Lund Olsen (19-05-2002)
| Kommentar Fra : Anders Lund Olsen |
Dato : 19-05-02 00:14 |
|
Peter wrote:
>
> Hej igen NG
> Et nyt problem.
>
> Jeg har endnu et problem.
>
> jeg har en klasse med denne metode:
>
> public boolean modify(Point p){
Skaber du ikke en lokal variabel her, der forsvinder,
når du går ud af metoden?
Hvis du allerede har en public P skal du vel bruge den?
> double x = p.getX();
> double y = p.getY();
> double xFinal = Math.pow(x, 2);
> double yFinal = Math.pow(y, 2);
>
> p.setX(xFinal);
> p.setY(yFinal);
>
> return (xFinal > 2);
> }
>
> Jeg kalder denne metode fra en anden klasse hvor jeg har oprettet et
> objekt convert.
> Her ser koden således ud:
>
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv her
> public Point p = new Point(2,2);
> boolean mod = convert.modify(p);
>
> Her ville jeg så gerne have at Point p nu havde værdien (4,4), men
> dette er ikke tilfældet, faktisk får den nogle gange værdien NaN som
> jo ikke er meningen.
> Hvordan kan man løse problemet?
>
> Venlig hilsen
> Peter
| |
|
|