Подтвердить что ты не робот

Является ли Java экспоненциальным оператором?

Есть ли экспоненциальный оператор в Java?

Например, если пользователю предлагается ввести два числа, и они вводят 3 и 2, правильный ответ будет 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);
    }
}
4b9b3361

Ответ 1

Для этого при вводе пользователя:

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

Нет оператора, но есть метод.

Math.pow(2, 3) // 8.0

Math.pow(3, 2) // 9.0

FYI, распространенная ошибка состоит в том, чтобы предположить, что 2 ^ 3 равно 2 третьей степени. Это не. Карет является допустимым оператором в Java (и аналогичных языках), но он двоичный xor.

Ответ 3

Самый простой способ - использовать библиотеку Math.

Используйте 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);

Ответ 4

Существует метод Math.pow(double a, double b). Обратите внимание, что он возвращает double, вам придется отдать его в int как (int)Math.pow(double a, double b).

Ответ 5

вы можете использовать метод pow из класса Math. Следующий код выводит 2, поднятый до 3 (8)

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

Ответ 6

В случае, если кто-то хочет создать там свою экспоненциальную функцию с использованием рекурсии, ниже для вашей справки.

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

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