Java是否有指数运算符?

时间:2014-02-28 01:28:06

标签: java pow exponent

Java中是否有指数运算符?

例如,如果系统提示用户输入两个号码并输入32,则正确答案为9

import java.util.Scanner;
public class Exponentiation {

    public static double powerOf (double p) {
        double pCubed;

        pCubed = p*p;
        return (pCubed);
    }

    public static void main (String [] args) {
        Scanner in = new Scanner (System.in);

        double num = 2.0;
        double cube;    

        System.out.print ("Please put two numbers: ");
        num = in.nextInt();

        cube = powerOf(num);

        System.out.println (cube);
    }
}

6 个答案:

答案 0 :(得分:83)

没有操作员,但有一种方法。

Math.pow(2, 3) // 8.0

Math.pow(3, 2) // 9.0

仅供参考,一个常见的错误是假设2 ^ 3是2到3的权力。它不是。插入符号是Java(和类似语言)中的有效运算符,但它是二进制xor。

答案 1 :(得分:31)

使用用户输入执行此操作:

public static void getPow(){
    Scanner sc = new Scanner(System.in);
    System.out.println("Enter first integer: ");    // 3
    int first = sc.nextInt();
    System.out.println("Enter second integer: ");    // 2
    int second = sc.nextInt();
    System.out.println(first + " to the power of " + second + " is " + 
        (int) Math.pow(first, second));    // outputs 9

答案 2 :(得分:5)

最简单的方法是使用数学库。

使用Math.pow(a, b),结果将为a^b

如果你想自己动手,你必须使用for-loop

// Works only for b >= 1
public static double myPow(double a, int b){
    double res =1;
    for (int i = 0; i < b; i++) {
        res *= a;
    }
    return res;
}

使用:

double base = 2;
int exp = 3;
double whatIWantToKnow = myPow(2, 3);

答案 3 :(得分:4)

Math.pow(double a, double b)方法。请注意,它返回一个double,您必须将其强制转换为类(int)Math.pow(double a, double b)

答案 4 :(得分:2)

您可以使用Math类中的pow方法。以下代码将输出2提升为3(8)

System.out.println(Math.pow(2, 3));

答案 5 :(得分:1)

如果有人想使用递归创建自己的指数函数,请参考以下内容。

public static double power(double value, double p) {
        if (p <= 0)
            return 1;

        return value * power(value, p - 1);
    }