Como faço para fazer uma potencia sem o math.pow ?

Estou fazendo um exercício da faculdade e em uma certa questão é pedido para:

“Criar um programa que calcule a potencia de qualquer base e expoente inseridos pelo usuário” desenvolvi o código mas travei na hora de criar a lógica da fórmula?

package Lista6;

import java.util.Scanner;

public class Q5 {
	public static void main(String[]args){
		Scanner sc = new Scanner(System.in);
		
		System.out.println("Informe um número: ");
		int num1 = sc.nextInt();
		System.out.println("Informe outro número: ");
		int num2 = sc.nextInt();
		num2 *= num1; 
		
		System.out.println(expo(num1, num2));
		
	}
	public static double expo(int x, int y){
		int resultado = 0;
	
		if (y==0){
			resultado = 1;
		}
		else
			for(int i=0; i<y; i++){
				
				resultado*=x;
			}
		return  resultado;
	}
}

Você pode remover esta linha.

Começa o seu loop com 1 e não 0 e inicializa a variável resultado com x.

public class Pow {

	private static int n1, n2;

	public static void main(String[] args) {

		Scanner t = new Scanner(System.in);

		System.out.print("Digite o número base:");
		n1 = t.nextInt();
		System.out.print("Digite a potência:");
		n2 = t.nextInt();

		System.out.println(expo(n1, n2));

		t.close();

	}

	private static int expo(int x, int y) {
		if (y == 0 || y == 1)
			return x;

		int total = x;

		for (int i = 1; i < y; i++) {
			total *= x;
		}

		return total;
	}

}
1 curtida

Muito obrigado Julio !! Por uma falta de atenção minha deixei aquela linha que você mandou apagar… e não tive a lógica de inicializar a variável “resultado” com “x”…

1 curtida