java - I need to write method that return power of only integer numbers -
i need write method in java return power of integer number , want method return -1 or fire exception if number exceeds integer.max_value:
i tried first , easy step:
public static int getpower(int base, int power) { int result = 1; for(int = 1; i<=power; i++) { result *= base; if (result < 0 ) { break; // not acurate } } if (result < 0 ) { return -1; } return result; }
is above method accurate, after debugging found when result exceeds integer.max_value go negative number, or there way handle this?
your method work if base can positive integer. underflow might occur base negative integer , power odd number.
an easy not optimal way handle situation use long data type store output , compare output check whether between integer.max_value , integer.min_value.
public static int getpower(int base, int power){ long result = 1; for(int = 1; <= power; i++) { result *= base; if (result > integer.max_value || result < integer.min_value) { return -1; } } return result; }
Comments
Post a Comment