Torna indietro   Hardware Upgrade Forum > Software > Programmazione

L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
La parola d'ordine al Nextcloud Summit 2026, che si è tenuto a Monaco, è stata "sovranità". Non come è spesso usato questo termine in politica ma, al contrario, come capacità positiva di decidere il proprio destino tecnologico, con modalità collaborative e aperte. L'Europa dice già molto nel mondo open source, che viene visto come mezzo per ottenere la tanto agognata autonomia digitale
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete implementa due bracci estensibili, per spazzola e moccio, che si spingono ben oltre quanto visto sino ad oggi permettendo una pulizia di casa ancor più capillare e precisa
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
La tecnologia SQD-Mini LED di TCL arriva sul taglio da 65 pollici con la serie C8L: 2040 zone, pannello WHVA 2.0 e un picco che alle rilevazioni delle sonde tocca i 4400 nit nel profilo Filmmaker e un HDR quasi perfetto
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-11-2005, 17:00   #1
andrea.ippo
Senior Member
 
Iscritto dal: Mar 2005
Città: Roma
Messaggi: 5940
[JAVA] Math.pow e assegnazione di costanti

public static double pow(double a, double b);

ok questo è il metodo di elevamento a potenza a^b, ma se voglio fare un quadrato (evitando di fare a*a) come posso fare (evitando pure di creare una variabile b=2)?
cioè vorrei creare una costante (2) da poter richiamare nel pow per poter fare pow(double a, const 2)...
Grazie per l'aiuto
__________________
Stanchi di usare Nero? Qui trovate l'alternativa gratuita che fa per voi
HP ProBook 4530s i5 2410M / 4GB / 640GB / Intel HD3000+Radeon HD6490M / 15.6" @1366x768
ASUS F3E T7100 / 3GB / 120GB / X3100 / 15.4" @1280x800 / Intel 3945ABG

Ultima modifica di andrea.ippo : 04-11-2005 alle 17:03.
andrea.ippo è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2005, 17:47   #2
Gavrila
Senior Member
 
Iscritto dal: Mar 2003
Messaggi: 545
Quote:
Originariamente inviato da andrea.ippo
public static double pow(double a, double b);

ok questo è il metodo di elevamento a potenza a^b, ma se voglio fare un quadrato (evitando di fare a*a) come posso fare (evitando pure di creare una variabile b=2)?
cioè vorrei creare una costante (2) da poter richiamare nel pow per poter fare pow(double a, const 2)...
Grazie per l'aiuto

static final double SQUARE_POW = 2; ?
__________________
Linux Registered User
Linux Registered Machine
Gavrila è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2005, 17:55   #3
franksisca
Senior Member
 
L'Avatar di franksisca
 
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
crei una interfaccia e ci metti dentro tutte le costanti che ti servono, tipo:
Codice:
interface Costanti{
int quadrato=2;
int cubo=3;
...
...
...
}
e poi le richiami così:
Codice:
Math.pow(a, Costanti.quadrato);
potrebbe sembrare + macchinoso, ma ti assicuro che è un ottimo metodo di lavoro.
__________________
My gaming placement
franksisca è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2005, 18:01   #4
andrea.ippo
Senior Member
 
Iscritto dal: Mar 2005
Città: Roma
Messaggi: 5940
ok grazie mille a entrambi!!!
spero di risolvere,è proprio ciò che mi serviva
vi farò sapere

Edit: in effetti è macchinoso,per ora provo con a*a ecc... per i quadrati,ma lo terrò a mente per il futuro...piuttosto mi dite cosa sbaglio qui?


import fiji.io.*;

/* Programma che restituisce la radice quadrata della somma di due quadrati. */
class RadSommaQuad{
public static void main(String[] args){
// Dichiarazione delle variabili
Double a;
Double b;
Double s;

// Acquisizione valori;
System.out.println("Inserire il primo numero");
a = Lettore.in.LeggiDouble();
System.out.println("Inserire il secondo numero");
b = Lettore.in.LeggiDouble();

// Calcolo somma quadrati;
s = (a*a)+(b*b);

// Comunicazione del risultato;
System.out.println("Il risultato e': " +rad);
}

// Calcolo della radice;
public static double sqrt(double s);{
Double rad;
rad = sqrt(double s);
}
}
__________________
Stanchi di usare Nero? Qui trovate l'alternativa gratuita che fa per voi
HP ProBook 4530s i5 2410M / 4GB / 640GB / Intel HD3000+Radeon HD6490M / 15.6" @1366x768
ASUS F3E T7100 / 3GB / 120GB / X3100 / 15.4" @1280x800 / Intel 3945ABG

Ultima modifica di andrea.ippo : 04-11-2005 alle 18:05.
andrea.ippo è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2005, 18:13   #5
franksisca
Senior Member
 
L'Avatar di franksisca
 
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
dovresti fare così, alla stampa:
Codice:
System.out.println("Il risultato e': " +sqrt(s));
e poi dimentichi di fare il return
Codice:
public static double sqrt(double s){
return Math.sqrt(s);
}
__________________
My gaming placement
franksisca è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2005, 20:22   #6
andrea.ippo
Senior Member
 
Iscritto dal: Mar 2005
Città: Roma
Messaggi: 5940
Risolto così

Codice:
import fiji.io.*;

/* Programma che restituisce la radice quadrata della somma di due quadrati. */
class RadSommaQuad{
	public static void main(String[] args){
		// Dichiarazione delle variabili
		double a;
		double b;
		double s;
		double r;

		// Acquisizione valori;
		System.out.println("Inserire il primo numero");
		a = Lettore.in.leggiDouble();
		System.out.println("Inserire il secondo numero");
		b = Lettore.in.leggiDouble();

		// Calcolo somma e radice;
		s = (a*a)+(b*b);
		r = Math.sqrt(s);
		System.out.println("Il risultato e': " +r);
		}
}
Grazie per l'aiuto
__________________
Stanchi di usare Nero? Qui trovate l'alternativa gratuita che fa per voi
HP ProBook 4530s i5 2410M / 4GB / 640GB / Intel HD3000+Radeon HD6490M / 15.6" @1366x768
ASUS F3E T7100 / 3GB / 120GB / X3100 / 15.4" @1280x800 / Intel 3945ABG
andrea.ippo è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2005, 00:24   #7
bottomap
Member
 
Iscritto dal: Feb 2005
Città: Prato
Messaggi: 149
Ciao,

Premesso che a*a resta sempre e comunque in genere più veloce rispetto alla pow...

chiamando Math.pow(a,2.0); non scomodi variabili né costanti di classe... puoi fare un wrapper, così come hai fatto per la sqrt, in modo da chiamare pow invece di Math.pow...

Nella seconda funzione (sqrt) c'è anche un ; di troppo prima del corpo della funzione...

Ciaociao
__________________
Venite a visitarci qui:http://www.bottomap.com
Bottomap is a proud Masterdrive.it moderator
bottomap è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2005, 09:33   #8
andrea.ippo
Senior Member
 
Iscritto dal: Mar 2005
Città: Roma
Messaggi: 5940
immaginavo che era più rapido a*a,però per esponenti non interi il metodo che mi consigli è senz'altro rapido
Avevo provato a fare Math.pow(a,2) ma non funzionava perché non trovava la variabile "2" (forse serve anche il .0 come hai scritto tu )...
Il wrapper sarebbe un sotto-metodo? (Scusa l'ignoranza ma sono un niubbo... )
Ciao e grazie ancora
__________________
Stanchi di usare Nero? Qui trovate l'alternativa gratuita che fa per voi
HP ProBook 4530s i5 2410M / 4GB / 640GB / Intel HD3000+Radeon HD6490M / 15.6" @1366x768
ASUS F3E T7100 / 3GB / 120GB / X3100 / 15.4" @1280x800 / Intel 3945ABG
andrea.ippo è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2005, 10:34   #9
franksisca
Senior Member
 
L'Avatar di franksisca
 
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
Quote:
Originariamente inviato da andrea.ippo
Avevo provato a fare Math.pow(a,2) ma non funzionava perché non trovava la variabile "2" (forse serve anche il .0 come hai scritto tu )...
Si, ci va anche il .0 perchè sono numeri double e non int(Conosci la differenza???)
Quote:
Originariamente inviato da andrea.ippo
Il wrapper sarebbe un sotto-metodo? (Scusa l'ignoranza ma sono un niubbo... )
Non precisamente, in inglese "cuscino", sono metodi, classi o interfaccie così dette perchè permettono di utilizare un qualcosa già presente nella libreria JAVA e di modificarla come meglio si crede, in questo caso tu, se mi concedete il termine, wrapperizzi il metodo pow e lo modifichi come meglio credi.
Comunque, se non ricordo male, nella JDK 1.5, c'è anche l'import statico, cioè se fai import Math.pow puoi utilizzare il metodo pow senza richiamare math( non ricordo la sintassi della chiamata di import statico).
CIAO
__________________
My gaming placement
franksisca è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2005, 16:36   #10
bottomap
Member
 
Iscritto dal: Feb 2005
Città: Prato
Messaggi: 149
Ciao,

Si... per charire meglio, un wrapper è una funzione (in genere una serie di funzioni incapsulate in una classe) che avvolgono (to wrap - cuscino? ) altre funzioni (in genere di sistema).

Se mastichi un po' di C++, un esempio di wrapper sono le MFC (incapsulano le API di sistema all'interno di una serie di classi di più facile utilizzo)...

Nel tuo caso l'utilizzo è ancora più banale...
Come hai fatto per sqrt dichiari nella tua classe la funzione sqrt(), la pow() ed eventuali altre...
Tali funzioni non fanno nient'altro (e questo è ciò che caratterizza una funzione wrapper) che richiamare rispettivamente Math.pow e Math.sqrt (eventualmente, e quando è il caso, cambiando leggermente la lista di parametri in modo da snellire la scrittura).
E tutto questo ha come beneficio (sempre nel tuo caso) di sveltire la scrittura e rendere il programma più compatto.
Purtroppo in Java (in C++ la cosa può essere diversa) tale livello di indirezione ha ovviamente un costo (molto leggero nel tuo caso) in termini di velocità nell'esecuzione delle funzioni... in un ciclo di qualche centinaio di miglaia di chiamate la differenza potrebbe comunque farsi sentire...

Ciaociao
__________________
Venite a visitarci qui:http://www.bottomap.com
Bottomap is a proud Masterdrive.it moderator

Ultima modifica di bottomap : 05-11-2005 alle 16:39.
bottomap è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2005, 20:10   #11
andrea.ippo
Senior Member
 
Iscritto dal: Mar 2005
Città: Roma
Messaggi: 5940
Grazie per il chiarimento!
Ciao
__________________
Stanchi di usare Nero? Qui trovate l'alternativa gratuita che fa per voi
HP ProBook 4530s i5 2410M / 4GB / 640GB / Intel HD3000+Radeon HD6490M / 15.6" @1366x768
ASUS F3E T7100 / 3GB / 120GB / X3100 / 15.4" @1280x800 / Intel 3945ABG
andrea.ippo è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2005, 20:54   #12
franksisca
Senior Member
 
L'Avatar di franksisca
 
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
Quote:
Originariamente inviato da bottomap
to wrap - cuscino? )
io sapevo così, infatti le chiamo semplicemente classi cuscinetto, e mi sembra anche azzeccato come nome.
__________________
My gaming placement
franksisca è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2005, 23:29   #13
bottomap
Member
 
Iscritto dal: Feb 2005
Città: Prato
Messaggi: 149
Ciao,

Definizione curiosa... non l'avevo mai sentita... le ho sempre chiamate wrapper mantenendo la terminologia inglese...

In inglese "to wrap" dovrebbe significare "avvolgere qualcosa"... ed il verbo arriva a comprendere, per sinonimo, "contenere qualcosa".
Il termine "wrapper" ha numerosi significati (genericamente involucro... ma anche, indirettamente, cuscinetto) che indicano in sostanza qualcosa atto a contenere qualcos'altro.

Ciaociao
__________________
Venite a visitarci qui:http://www.bottomap.com
Bottomap is a proud Masterdrive.it moderator
bottomap è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026 L'Europa conta nella tecnologia e può ess...
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro MSI Maestro 500 Wireless: ANC e 90 ore di autono...
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine NL-LC1 è il primo dissipatore a liquido A...
THQ Nordic conferma il ritorno del Digit...
Fai da te: sconti spettacolari per Bosch...
Questo HP Victus abbassa la soglia dei p...
Microsoft 365 Family scende a 79€ per il...
Polymarket ha pagato influencer per pubb...
LG OLED evo AI G5, C5, B5 e nuova Serie ...
Windows 11 si aggiorna con una nuova mod...
Nuovo incidente su LastPass: esposti, an...
realme P4x, la recensione: il battery ph...
Meno promozioni sull'hardware e focus su...
IBM entra nel programma Daybreak di Open...
Come sfruttare il Prime Day per potenzia...
Ferrari cambia il responsabile marketing...
Meta lancia Adventurer e Fury: due model...
I 10 prodotti più venduti del Pri...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 11:21.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v