Cálculo de Potência  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
alessandro.campos
What is classpath?

Membro desde: 04/05/2006 19:58:11
Mensagens: 5
Offline

Amigos,
Preciso de uma ajuda estou fazendo um programa com método para cálculo de potência, porém ao usar Math.pow(x,y) tenho sempre o erro informando que Math não pode ser aplicado para int, ou para float, ou para double, não adianta mudar o tipo do dado, não funciona com nenhum.

Abaixo segue o código, é bem pequeno e simples:
import javax.swing.JOptionPane;

public class PotenciaM{
public static void main (String [] args){
int num, exp;
Double res;

PotenciaM obj;

obj = new PotenciaM();
num = Integer.parseInt(JOptionPane.showInputDialog("Digite um numero:"));
exp = Integer.parseInt(JOptionPane.showInputDialog("Digite o valor do expoente:"));
res = obj.funcaoY(num,exp);
System.out.println("Numero digitado: " + num);
System.out.println("Expoente digitado: " + exp);
System.out.println("Resultado: " + res);
}

public double funcaoY (int valorNum,int valorExp){
double r;
r = Math.pow(valorNum * valorExp);
return(r);
}
}
Cabral
JavaTeenager
[Avatar]

Membro desde: 01/06/2005 09:10:59
Mensagens: 153
Localização: Arujá - SP
Offline

Cara, eu fiz um teste rapido aqui com os seguintes valores:

Math.pow((double)1, (double)2);


e funcionou normalmente, veja se mudando os parâmetros do eu método para double ele não funciona.


Att,

Ricardo Cabral

** SCPN **
alessandro.campos
What is classpath?

Membro desde: 04/05/2006 19:58:11
Mensagens: 5
Offline

Obrigado pela ajuda amigo, acabei de descobrir meu erro:
Ao invés de
r = Math.pow(valorNum * valorExp);
O certo é
r = Math.pow(valorNum, valorExp);

Obrigado mais uma vez,

Abraços.

 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team