to estudando pelo livro Java como programar 6 edição e venho enfrentando algumas dificuldades,como este programa que não compila —>
public class Juros {
public static void main (String[] args){
double valor;
double principal = 1000;
double taxa = 0.05;
System.out.printf("%s%20s\n. Ano , Valor em deposito");
for (int ano = 1; ano <= 10; ++ ano){
valor = principal * Math.pow(1.0 + taxa,ano); //nao entendi essa parte
System.out.printf("%4d%,20.2f\n",ano,valor);
}
}
}
é um programa que calcula a soma de valores de taxa de juros,como vocês podem ver…
que tem algum erro que faz com que ele não compile e logo não executa…
também não entendi essa parte que eu comentei,voces poderiam corrigir e também me explicar essa parte que eu não entendi??–>
for (int ano = 1; ano <= 10; ++ ano){
valor = principal * Math.pow(1.0 + taxa,ano); //nao entendi essa parte
eh isso ai… detalhe no meu NetBeans não aparece que tem erro, ta tudo normal,so que nao compila.
Hum, o “printf()” é uma função do C, não sei como isso foi aparecer numa listagem de Java
Mas de qualquer forma, seguem alguns comentários. Eu mudaria:
System.out.printf("%s%20s\n. Ano , Valor em deposito");
para:
System.out.println("Ano, Valor em Depósito");
E mudaria:
System.out.printf("%4d%,20.2f\n",ano,valor);
para:
System.out.println("" + ano + ", " + valor);
E, por fim, o significado do trecho abaixo:
valor = principal * Math.pow(1.0 + taxa,ano);
Você está multiplicando o valor da variável pelo valor de retorno da função Math.pow(), que recebe uma base (<1.0 + taxa> ) e um expoente ( ) e faz a potenciação deles:
http://java.sun.com/javase/6/docs/api/java/lang/Math.html#pow(double,%20double)
roger… printf existe no Java Sim, só que nos retorna um PrintStream que eu não sei nem pra onde vai (se algum amigo souber e quiser colaborar)…
Att.
Nao vejo nada de errado nexe programa, tenta usar o interface Gel. um bcado antigo mais nunca falha.
O que nao intendeste: valor = principal(1000) * math.pow(calcula a potencia de um numero elevado ao outro) nesse caso o 1 e a taxa, ano
vcs poderiam me explicar detalhadamente esse Math.pow,ai???
a taxa eh 0.05 +
wbdsjunior: he he, vivendo e aprendendo 
Hygor: Math.pow() é uma função de potenciação, retorna o primeiro parâmetro elevado ao segundo.
- Você não tomou alguns cuidados ao copiar seu código. Ele tem de ser assim:
public class Juros {
public static void main (String[] args) {
double valor;
double principal = 1000;
double taxa = 0.05;
System.out.printf("%4s%20s\n", "Ano" , "Valor em deposito");
for (int ano = 1; ano <= 10; ++ ano) {
valor = principal * Math.pow(1.0 + taxa,ano);
System.out.printf("%4d%,20.2f\n",ano,valor);
}
}
}
- O resultado dele é:
Ano Valor em deposito
1 1.050,00
2 1.102,50
3 1.157,63
4 1.215,51
5 1.276,28
6 1.340,10
7 1.407,10
8 1.477,46
9 1.551,33
10 1.628,89
- Você pode estar com problemas por estar com várias versões diferentes do Java na sua máquina. Deixe apenas com uma versão (6.0).
a versão que eu uso é 6.0 update 13
Microsoft Windows XP [versão 5.1.2600]
© Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\Hygor>java -version
java version “1.6.0_13”
Java™ SE Runtime Environment (build 1.6.0_13-b03)
Java HotSpot™ Client VM (build 11.3-b02, mixed mode, sharing)
C:\Documents and Settings\Hygor>
OK, então compile o código direitinho, e o rode com:
java -cp . Juros
Não se esqueça que seu programa deve ficar em um arquivo-texto com o nome “Juros.java” para compilar corretamente.