[b]Preciso criar um metodo que receba x e y e retorne x elevao a y sem utilizar o metodo pow. Sou bem iniciante em java, comecei a criar mas não sei se está certo e estou agarrada para fazer a chamada do método criado.
Se alguem puder me ajudar, fico agradecida![/b]
[code]package pkgExercicio1;
public class CalculaPotencia {
private int base;
private int expoente;
public CalculaPotencia(int x, int y){
base = x;
expoente = y;
}
public int Potencia (int xx, int yy){
int resultado = 0;
for(int i=0; i<=yy; i++){
resultado*=xx;
}
return resultado;
}
public void CalculaResultado(int result){
}
}
[/code]
Você pode fazer dessa forma:
public void testPotencia(int base, int expoente) {
int resultado= 1;
for (int i = 0 ; i < expoente ; i++) {
resultado *= base;
}
System.out.println(resultado);
}
Espero ter ajudado.
Vou testar dessa forma para ve rse da certinho dentro do que to querendo… Obrigada!
A única diferença significativa entre os dois códigos é que ele inicou resultado com 1 e não com 0. Isso pq 0 é o elemento nulo da multiplicação (qualquer coisa * 0 = 0).
E claro, no fato dele ter dado nomes mais significativos às variáveis.
Consegui resolver da seguinte forma:
Arquivo 1
[code]package pkgExercicio1;
public class CalculaPotencia {
//private int base;
//private int expoente;
public int Potencia (int xx, int yy){
int resultado = 0;
if (yy==0){
resultado = 1;
}
else
for(int i=0; i<=yy; i++){
resultado = xx;
resultado*=xx;
}
return resultado;
}
}
[/code]
Arquivo 2
[code]package pkgExercicio1;
public class testaPotencia {
public static void main(String[] args) {
CalculaPotencia c = new CalculaPotencia ();
c.Potencia(3,2);
System.out.println(c.Potencia(3,2));
}
}
[/code]
If you wanna see how depth the rabbit hole goes:
http://mathforum.org/library/drmath/view/55896.html
Esse link ensina a fazer com expoentes fracionários.
Se quiser ir mais punk, pode procurar a solução com logs que ele cita.
[quote=ViniGodoy]A única diferença significativa entre os dois códigos é que ele inicou resultado com 1 e não com 0. Isso pq 0 é o elemento nulo da multiplicação (qualquer coisa * 0 = 0).
E claro, no fato dele ter dado nomes mais significativos às variáveis.[/quote]
[b]Essa idéia de renomear as variáveis eu vou usar…
Vou trocar por nomes mais fáceis, fica melhor mesmo!
Obrigada[/b]