2010-07-16 6 views
3

Je veux calculer x puissance y et les deux x, y sont double valeurs. Pourquoi java me donne une erreur de compilation? Quelle est la meilleure façon de le faire?Comment implémenter (x pow y) dans java, où x, y sont doubles?

Je suis actuellement en utilisant la méthode suivante:

x^y // attempt to calculate (x pow y) 

Merci.

+5

Vous avez mentionné une erreur de compilation. Dans le cas où vous avez essayé 'x^y', vous devriez savoir que'^'en Java est _NOT_ un opérateur d'exponentiation. http://stackoverflow.com/questions/1991380/what-does-the-operator-do-in-java/2672217#2672217 – polygenelubricants

+0

Quel JRE utilisez-vous? –

+0

Ouais j'utilisais^opérateur – user378101

Répondre

1

La façon la plus simple à mettre en œuvre il reste, comme toujours:

Prenez le logarithme (base 10) de x; multipliez-le par y, et prenez le logarithme inverse (base 10) du résultat pour obtenir x pow y. Pour le calculer simplement, Math.pow(x,y);, comme cela a été souligné.

+0

Pourquoi ré-implémenter une solution existante? –

+3

Je ne sais pas, mais c'était sa question. (Eh bien, en fait, son titre de la question, sa question était de savoir comment le calculer.) –

+0

Je reste mon cas :) –

1
Math.pow(x,y); 

exemple:

Math.pow(2.23, 3.45); 
1
 Math.pow(a, b); 
1

Voir la classe Math. Il a une fonction statique pow, qui accepte les valeurs doubles comme arguments.

1
Double a = 3.0; 
    Double b = 2.0; 
    assert Math.pow(a, b) == 9.0;