# math. class in java

Juan Villena

Greenhorn

Posts: 20

posted 5 years ago

331(t+273) ^1/2

_____

( 273 )

331 multiply t+273/273 the result is exponent 1/2

how do you write this equation in java using math.class

thanks

_____

( 273 )

331 multiply t+273/273 the result is exponent 1/2

how do you write this equation in java using math.class

thanks

Ulf Dittmer

Rancher

Posts: 42970

73

Juan Villena

Greenhorn

Posts: 20

posted 5 years ago

There's also a method

`Math.pow`which takes two doubles. You could use that if the exponent is a fraction other than 0.5.SCJP 1.4 - SCJP 6 - SCWCD 5 - OCEEJBD 6 - OCEJPAD 6

How To Ask Questions How To Answer Questions

Campbell Ritchie

Marshal

Posts: 52589

119

posted 5 years ago

Don't use

. . . or 0.3333333333333333333333333333333333333333333 because there is a cube root method too.Rob Spoor wrote:There's also a methodMath.powwhich takes two doubles. You could use that if the exponent is a fraction other than 0.5.

Don't use

`Math,pow(x, 2)`for squares. Use

`x * x`instead.

Juan Villena

Greenhorn

Posts: 20

posted 5 years ago

Jesper the jonq, actually , i want to square root the whole equation, an\d is 331

Rob Spoor and Campbell Ritchie: so can i use math.pow in this particular ecuation or just math.sqrt

and can you tell if this is right or wrong :

or can you guys write this ecuation using math class please.

thanks a lot

Rob Spoor and Campbell Ritchie: so can i use math.pow in this particular ecuation or just math.sqrt

and can you tell if this is right or wrong :

**331*(math.sqrt((t*273)/273)**or can you guys write this ecuation using math class please.

thanks a lot

Campbell Ritchie

Marshal

Posts: 52589

119

posted 5 years ago

If you want the square root of the whole equation, then you should obviously put the whole equation between the brackets for the method call to Math.sqrt:

So, Math.sqrt(331 * ...) and not 331 * Math.sqrt(...)

So, Math.sqrt(331 * ...) and not 331 * Math.sqrt(...)

Ulf Dittmer

Rancher

Posts: 42970

73

Campbell Ritchie

Marshal

Posts: 52589

119

posted 5 years ago

I think Jesper has seen the error and inadvertently corrected it from * to +. With 273 in, probably something to do with absolute temperatures.

Beware of integer arithmetic: for any

Beware of integer arithmetic: for any

*t*such that*t*< 273 and*t*≥ 0, the result of the division will turn out to be 1, if*t*is an integer.
Juan Villena

Greenhorn

Posts: 20

posted 5 years ago

Did you read the API on the Math class? It tells you quite clearly:

so if you want the square root, you use this.

If you want to raise a number to some arbitrary power, you use this.

Since raising a number to the 1/2 power is BY DEFINITION taking the square root, you can use either one you want.

static double sqrt(double a)

Returns the correctly rounded positive square root of a double value.

so if you want the square root, you use this.

static double pow(double a, double b)

Returns the value of the first argument raised to the power of the second argument.

If you want to raise a number to some arbitrary power, you use this.

Since raising a number to the 1/2 power is BY DEFINITION taking the square root, you can use either one you want.

There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors

Campbell Ritchie

Marshal

Posts: 52589

119

posted 5 years ago

Actually if you give the exponent

The reason is that

I would say, if they have got a method which is specially designed for square roots, use that method. It's easier for a start.

`1 / 2`, you will receive the result 1.0.The reason is that

`1 / 2`is integer arithmetic, and will return 0, so you will get*x*to the power of 0, and that returns 1.I would say, if they have got a method which is specially designed for square roots, use that method. It's easier for a start.