Problemas com a função Math.pow [RESOLVIDO]

Olá, pessoal!

Sou mais um novato em java aqui no fórum, e me deparei com um problema que não consigo resolver. A questão é com o uso da função Math.pow. No tutorial, diz que nem a base, nem o expoente, podem ser números infinitos (dízimas periódicas). Dessa forma, como eu faço para solucionar um problema com uma potência da seguinte forma:

desc = Math.pow(1+desc/100,1/12) -1 ;

Essa fórmula é utilizada para tranformar uma taxa efetiva em nominal. Vou postar o código todo, e caso alguém tenha alguma sugestão, mesmo que seja a outro respeito, ficaria muito grato!

[code]
import java.io.;
import java.text.
;
public class SAC {
public static void main (String args[]) {

	String Speriodo = "", Svalor = "", Staxa = "", Sdesc;
	double periodo = 0, valor = 0, taxa = 0, saldodev = 0, 
		amort = 0, juros = 0, prest = 0, vpl = 0, vplsoma = 0, 
		desc = 0.0;
	int i = 1;
	BufferedReader entrada;

	try {
		entrada = new BufferedReader(new InputStreamReader(System.in));
		
		System.out.print("Digite o valor: ");
		Svalor = entrada.readLine();
		valor = Double.parseDouble(Svalor);

		System.out.print("Digite o periodo: ");
		Speriodo = entrada.readLine();
		periodo = Double.parseDouble(Speriodo);

		System.out.print("Digite a taxa de juros nominal (% a.a.): ");
		Staxa = entrada.readLine();
		taxa = Double.parseDouble(Staxa);
	
		System.out.print("Digite a taxa de descontos dos fluxos (efetivas) (% a.a.): ");
		Sdesc = entrada.readLine();
		desc = Double.parseDouble(Sdesc);
	}
	catch(IOException e) {
		System.out.println("Houve um erro na entrada de dados!");
	}
	

	DecimalFormat dec = new DecimalFormat( "0.00" );	
	amort = valor/periodo;	
	taxa = taxa/12;
	desc = Math.pow(1+desc/100,1/12) -1 ;
	saldodev = valor;
	while (i <= periodo)
		{
		saldodev= saldodev-amort;
		juros = valor/periodo * (periodo - i + 1) * taxa/100;
		prest = amort + juros;
		vpl = juros / Math.pow(1 + desc, i);
		vplsoma = vplsoma+vpl;
		
		System.out.println(+i+"_____"+dec.format(saldodev)+"_____"+dec.format(amort)+"_____"
		+dec.format(juros)+"_____"+dec.format(prest));
	 	
		i = i+1;
	}
	System.out.println(+vplsoma+"_____"+desc);
}

} [/code]

Valew! :smiley:

O problema não é com Math.pow. É que 1/12 == 0 (divisão inteira)

Se você quer passar o valor 1/12 = 0,08333… você precisa usar: 1.0 / 12.0

Valeu, thingol!

Agora deu certo o resultado!