题目:
输入:一个整数和指数
输出:计算结果
题目很简单,这里实现的话需要考虑到指数和整数均有可能 是负数或者是正数,有了这个思路就可以动手写了,下面是具体实现:
package offer;
import java.util.Scanner;
/*
* 求(num,x)即求num的x次方
*/
public class Test11 {
public static double numX(int num, int x){
if (x==0)
return 1;
boolean flag1=x>0?true:false; //判断指数正负
boolean flag2=x%2==0?true:false; //判断指数奇偶
boolean flag3=num>0?true:false; //判断数字正负
x=x>0?x:-x;
num=num>0?num:-num;
double result=1;
for (int i=0;i<x;i++){
result*=num;
}
double res=0;
if(flag3 && flag1)
res=result;
//return result;
if(flag3 && flag1==false)
res=1/result;
//return 1/result;
if (flag1 && flag3==false)
if (flag2)
res=result;
//return result;
else
res=-result;
//return -result;
if(flag3==false && flag1==false)
if (flag2)
res=1/result;
//return 1/result;
else
res=-1/result;
//return -1/result;
return res;
}
public static void main(String [] args){
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个数字:");
int num=sc.nextInt();
System.out.print(" 请输入指数为 :");
int x=sc.nextInt();
double value=numX(num,x);
System.out.print(" 计算结果为 :"+value);
}
}
结果如下:
/*
请输入一个数字:100
请输入指数为 :2
计算结果为 :10000.0
请输入一个数字:-10
请输入指数为 :3
计算结果为 :-1000.0
请输入一个数字:-10
请输入指数为 :-2
计算结果为 :0.01
请输入一个数字:10
请输入指数为 :-2
计算结果为 :0.01
请输入一个数字:10
请输入指数为 :-3
计算结果为 :0.001
请输入一个数字:-10
请输入指数为 :-3
计算结果为 :-0.001
*/