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

Popular posts from this blog

powershell Start-Process exit code -1073741502 when used with Credential from a windows service environment -

twig - Using Twigbridge in a Laravel 5.1 Package -

c# - LINQ join Entities from HashSet's, Join vs Dictionary vs HashSet performance -