|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
[Java] Non riesco ad importare java.lang.Math
stasera ho iniziato a leggere qualcosa sul java, quindi abbiate pietà
![]() sto scrivendo delle classi che rappresentino figure piane per vedere se ho capito bene le classi, l'ereditarietà, i costruttori, ecc.ecc. e mi sono trovato davanti ad un problema; all'inizio del file Square.java ho: Codice:
import java.lang.Math.*; public class Square { ... } Codice:
C:\java>javac MyProg.java .\Square.java:19: cannot find symbol symbol : method sqrt(double) location: class Square lato = sqrt(area); ^ 1 error ![]() Ultima modifica di AngeL) : 30-05-2007 alle 21:45. |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
Quote:
sqrt() è una funzione statica della classe Math, benvenuto nell' OOP ![]()
__________________
GPU Compiler Engineer |
|
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
Quote:
![]() ma funzione statica vuol dire che ne viene creata una per tutte le istanze dell'oggetto? o quelle erano le variabili? ![]() Non avevo visto il tappeto davanti alla porta >_> |
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
Quote:
Come regola le funzioni statiche possono usare solo attributi (variabili ) locali o statici (attributi accessibili, come le funzioni statiche, senza dover instanziare la classe e esistenti in unica copia condivisa tra tutte le , eventuali, istanze della classe) . Il metodo main() di una classe java tanto per essere precisi è definito come "public static" , quindi è un metodo statico che la JVM fa partire senza instanziare un oggetto specifico della classe che lo contiene. Ciao
__________________
GPU Compiler Engineer |
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Per fare le cose un tantino + decenti se stai usando una versione di Java >= 5 allora puoi usare lo static import:
Codice:
import static java.lang.Math.*; .... double r = sqrt(PI * 2); ![]()
__________________
![]() |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
cambia che anzikè scrivere ogni volta Math.sqrt(), Math.cos(), Math.PI puoi scrivere semplicemente sqrt(), cos(), PI.
E se hai molte funzioni matematiche è MOLTO + comodo ![]()
__________________
![]() |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:27.