Java problem (Math)

Tråden skapades och har fått 6 svar. Det senaste inlägget skrevs .
1

Jag har problem med "Math"-klassen i Java (1.3.1)

Jag har provat ett litet testprogram som borde funka alldeles utmärkt:

----------------------------------------

public class RandomMax

{

RandomMax()

{

double random1, random2;

random1 = Math.random();
random2 = Math.random();

System.out.println("");
System.out.println("The numbers are: " + random1 + " and " + random2);
System.out.println("Max is " + Math.max(random1, random2));
System.out.println("");

}

public static void main(String[] args)

{

new RandomMax();

}

}

----------------------------------------

Men jag får följande fel:

RandomMax.java:11: cannot resolve symbol
symbol : method random ()
location: class Math
random1 = Math.random();
^
RandomMax.java:12: cannot resolve symbol
symbol : method random ()
location: class Math
random2 = Math.random();
^
RandomMax.java:16: cannot resolve symbol
symbol : method max (double,double)
location: class Math
System.out.println("Max is " + Math.max(random1, random2));
^
3 errors

----------------------------------------

1. Vad betyder exakt "cannot resolve symbol"

2. Vad är fel???

  • Oregistrerad
  • 2002-08-09 12:34

Nu var det ett litet tag sedan jag satt med Java, och jag har inte orkat börjar slå i böckerna, men kan det vara så att du måste importera Math-biblioteket längst upp i din klass?

Om den ligger där jag tror den gör skriver du så här:

import java.lang.Math;

Men java.lang.* importeras väl automatiskt till alla Javaprogram?

Med risk att göra bort mig totalt.
Det var år sedan jag pysslade med Java. Java 2 var inte ens uppfunnet...

Men... då importerades inget automatiskt...

Så prova.

  • Medlem
  • Stockholm
  • 2002-08-09 14:39

Math.random () och Math.max () är deklarerade static. Då måste dina random variabler också vara det.

Se APIt...
Class Math

  • Medlem
  • 2002-08-09 19:36

>> 1. Vad betyder exakt "cannot resolve symbol"?

Det betyder att:
1. variablerna inte är deklarerade
2. deklarerade fel
3. eller att variablerna saknar referensen till Math alltå import klausulen överst i programmkoden.

Glöm det där med att allt ska vara automatiskt i Java.
Visst står det att underklasser importeras automatiskt om man skriver .* och så är det i de flesta fall men verkligheten är helt annan. Ibland måste du skriva en extra "import".

Tack för all hjälp

Enda sättet att komma åt problemet var att manuellt importera java.lang.Math (att importera java.lang.* funkade inte) - ska ha ditt råd i åtanke i fortsättningen 3oPaH.

[ 09 Augusti 2002, 20:15: Meddelandet ändrat av: William W M ]

1
Bevaka tråden