Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Dopo oltre 4 anni si rinnova la serie Sony Alpha 7 con la quinta generazione, che porta in dote veramente tante novità a partire dai 30fps e dal nuovo sensore partially stacked da 33Mpixel. L'abbiamo provata per un breve periodo, ecco come è andata dopo averla messa alle strette.
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme e Aston Martin Aramco F1 Team si sono (ri)unite dando alla vita un flagship con chip Snapdragon 8 Elite Gen 5 e design esclusivo ispirato alle monoposto di Formula 1. La Dream Edition introduce la nuova colorazione Lime Essence abbinata al tradizionale Aston Martin Racing Green, decorazioni intercambiabili personalizzate e una confezione a tema F1, intorno a uno smartphone dall'ottima dotazione tecnica con batteria da 7000mAh ricaricabile a 120W e isola fotografica intercambiabile
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
Abbiamo partecipato all'OVHcloud Summit 2025, conferenza annuale in cui l'azienda francese presenta le sue ultime novità. Abbiamo parlato di cloud pubblico e privato, d'intelligenza artificiale, di computer quantistici e di sovranità. Che forse, però, dovremmo chiamare solo "sicurezza"
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-11-2005, 18: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 18:03.
andrea.ippo è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2005, 18: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, 18: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, 19: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 19:05.
andrea.ippo è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2005, 19: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, 21: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, 01: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, 10: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, 11: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, 17: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 17:39.
bottomap è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2005, 21: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, 21: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 06-11-2005, 00: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


Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator Sony Alpha 7 V, anteprima e novità della ...
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1 realme GT 8 Pro Dream Edition: prestazioni da fl...
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
Qual è lo smartphone Android pi&u...
Il camion elettrico Semi è davver...
Instagram limita gli hashtag a tre per p...
Le migliori offerte Amazon del momento: ...
RTI e Medusa denunciano Perplexity AI: p...
Avviatori, compressori e accessori auto:...
Samsung Galaxy S26: un leak anticipa le ...
Windows 11, KB5070311 sistema e rompe la...
DJI Mini 3 con controller DJI RC al prez...
Horses riceve il ban anche da Epic: rifi...
Motore elettrico a flusso assiale di Yas...
India, la retromarcia dopo le polemiche:...
La Germania accende il suo colosso eolic...
Mega Risparmi Amazon Haul: fino al 60% s...
Samsung ha dominato il mercato degli sma...
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: 13:24.


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