Porque não executa?

3 respostas
Hygor_Kovags

to tentando montar um aplicativo que eu li no livro DEITEL java como programar...
esse programa é a classe AccountTest acessando classe Account
fiz tudo certinho...compila mas não executa,
como vcs podem ver eu fiz tudo certo não tem nenhum erro de sintaxe:

package javaapplication7; // declara que a clase esta em java app7
public class Account{     //declara classe Account
    private double saldo; //variavel de instancia que declara saldo,tipo UML double
    public Account(double saldoinicial){ //construtor do tipo double
        if(saldoinicial > 0.0)
            saldo = saldoinicial;
        }
    //deposita adiciona dinheiro.
    public void deposita(double valor){
        
        saldo = saldo + valor;
    }
       public double getSaldo(){
           return saldo;
       }


    }
* * *
package javaapplication7;
import java.util.Scanner;
public class AccountTest {
public static void main (String[]args){
    Account Account1 = new Account(50.00);//construtor da Account1
    Account Account2 = new Account (100.00);//contrutor da conta 2
    System.out.printf("saldo da conta 1 :$%.2f\n",Account1.getSaldo());
    System.out.printf("Saldo inicial da conta 2:$%.2f\n\n",Account2.getSaldo());
Scanner input = new Scanner (System.in);
double depositValor;
System.out.print("Digite o valor de deposito para conta1:");
depositValor = input.nextDouble(); // Vai ler
System.out.printf("adicionou %2.f ao saldo da conta1",depositValor);
Account1.deposita(depositValor);
System.out.printf("Digite o valor de deposito para conta2:");
depositValor = input.nextDouble();//Vai ler
System.out.printf("adicionou %2.f ao saldo da conta2",depositValor);
Account2.deposita(depositValor);

System.out.printf("Saldo da Conta 1:$%2.f\n",Account1.getSaldo());
System.out.printf("Saldo da Conta 2:$%2.f\n",Account2.getSaldo());
}
}

3 Respostas

Hygor_Kovags

run:
saldo da conta 1 :$50,00
Saldo inicial da conta 2:$100,00

Digite o valor de deposito para conta1:15,57

Exception in thread main java.util.UnknownFormatConversionException: Conversion = 2

at java.util.Formatter.checkText(Formatter.java:2502)

at java.util.Formatter.parse(Formatter.java:2484)

at java.util.Formatter.format(Formatter.java:2413)

at java.io.PrintStream.format(PrintStream.java:920)

at java.io.PrintStream.printf(PrintStream.java:821)

at javaapplication7.AccountTest.main(AccountTest.java:14)

Java Result: 1

CONSTRUÍDO COM SUCESSO (tempo total: 18 segundos)
mgarcia

não funciona pelo seguinte…

nas linhas 13, 17, 20 e 21 vc usa %2.f… o correto é %.2f

[]s

luisgarcia173

Brother a parada eh simples, porém procura sempre debbugar o programa para ver onde está parando o erro.

Pelo que testei e pela sua mensagem pode perceber que da primeira vez ele mostra os valores b[/b]:

System.out.printf("saldo da conta 1 :$%.2f\n", Account1.getSaldo());
System.out.printf("Saldo inicial da conta 2:$%.2f\n\n", Account2

Porém no momento em que você tenta exibir o valor de depósito você já usa outro tipo de formatação para o valor double b[/b]

System.out.printf("adicionou %2.f ao saldo da conta1",depositValor);   
Account1.deposita(depositValor);   
System.out.printf("Digite o valor de deposito para conta2:");   
depositValor = input.nextDouble();//Vai ler   
System.out.printf("adicionou %2.f ao saldo da conta2",depositValor);   
Account2.deposita(depositValor);

E se pesquisar um pouco mais teve outro rapaz que teve o mesmo problema com esse livro aqui no guj: http://www.guj.com.br/posts/list/30163.java
Espero ter ajudado, aqui funcionou de boa… Qualquer coisa manda um alô que nós ajudamos.

Falou.

Criado 14 de maio de 2009
Ultima resposta 14 de mai. de 2009
Respostas 3
Participantes 3