Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Polestar 3 Performance, test drive: comodità e potenza possono convivere
Polestar 3 Performance, test drive: comodità e potenza possono convivere
Abbiamo passato diversi giorni alla guida di Polestar 3, usata in tutti i contesti. Come auto di tutti i giorni è comodissima, ma se si libera tutta la potenza è stupefacente
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
In occasione del proprio Architecture Deep Dive 2025 Qualcomm ha mostrato in dettaglio l'architettura della propria prossima generazione di SoC destinati ai notebook Windows for ARM di prossima generazione. Snapdragon X2 Elite si candida, con sistemi in commercio nella prima metà del 2026, a portare nuove soluzioni nel mondo dei notebook sottili con grande autonomia
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
DJI Mini 5 Pro porta nella serie Mini il primo sensore CMOS da 1 pollice, unendo qualità d'immagine professionale alla portabilità estrema tipica di tutti i prodotti della famiglia. È un drone C0, quindi in un peso estremamente contenuto e che non richiede patentino, propone un gimbal rotabile a 225 gradi, rilevamento ostacoli anche notturno e autonomia fino a 36 minuti. Caratteristiche che rendono il nuovo drone un riferimento per creator e appassionati
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


Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026 Qualcomm Snapdragon X2 Elite: l'architettura del...
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice Recensione DJI Mini 5 Pro: il drone C0 ultra-leg...
ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
ESA: rilevati 40 mila asteroidi vicino a...
La batteria salva fabbriche di EQORE ott...
SpaceX Starship: iniziati i test della t...
Datacenter IA nello spazio entro 5 anni,...
Telescopio spaziale James Webb: rilevato...
Ericsson Mobility Report: nel 2025 il 5G...
PLAI DEMO DAY: si chiude il secondo cicl...
Google rilascia Nano Banana Pro: il nuov...
ChatGPT si rinnova ancora: disponibile l...
Ring lancia super sconti di Black Friday...
Black Friday 2025: 450 euro di sconto su...
Tutte le offerte Blink in un unico posto...
OpenAI e Foxconn uniscono le forze per r...
Ricarica delle auto elettriche in 3 minu...
Lucid presenta Gravity Touring, il SUV e...
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: 21:47.


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