Problemas com double

3 respostas
M

import java.util.Scanner;

public class accountest {

public static void main(String[] args) {
    //criação dos objetos da classe account
    account account1 = new account(50.00);
    account account2 = new account(-7.00);

    //pegando os valores para adcionar
    System.out.printf("account1 balance is: $%.2f \n",
            account1.getbalance());
    System.out.printf("account2 balance is: $%.2f \n",
            account2.getbalance());

    Scanner input = new Scanner(System.in);

    double depositAmount; //adição do depositor ao balanço

    System.out.print("Enter deposit amount for account1:");

    depositAmount = input.nextDouble();

    //apenas mostra o que está acontecendo
    System.out.printf("\nAdding %.2f to account1 balance \n\n",
            depositAmount);

    //adciona ao metodo
    account1.credit(depositAmount);

    //pegando os valores pelo metodo get 
    System.out.printf("account1 balance is: $%.2f \n",
            account1.getbalance());
    System.out.printf("account2 balance is: $%.2f \n",
            account2.getbalance());


    System.out.println("");
    //agora para a account2
    System.out.print("Enter deposit amount for account2:");

    depositAmount = input.nextDouble();

    //apenas mostra o que está acontecendo
    System.out.printf("\nAdding %.2f to account1 balance \n\n",
            depositAmount);

    account2.credit(depositAmount);

    System.out.printf("account1 balance is: $%.2f\n",
            account1.getbalance());
    System.out.printf("account2 balance is: $%.2f\n",
            account2.getbalance());


}

}


public class account {

private double balance; //variavel de instancia privada

//construtor tem de iniciar com o mesmo nome da classe
public account(double initialbalance) {
    //armazenamento condicionado.
    if (initialbalance > 0.0) {
        balance = initialbalance;
    }

}
//void pos não retorna nada

public void credit(double amount) {

balance = balance + amount; //adciona ao balanço total.

}
public double getbalance() {
    return balance; // retorna o mesmo balance utilizados e encrementado em outros metodos
}

}


Estou com um problema, durante a execução se digito um número com duas casas a direita com . e etc, da um erro na linha onde digo que
depositAmount = input.nextDouble();
por favor se puderem me ajudar, não queria prosseguir no livro com está dúvida.

3 Respostas

darklordkamui

primeiramente edita esse codigo e coloca ele envolvido por [code] para a gente visualizar melhor

Jemerson

A forma de entrada não deve ser pelo “.” e sim pela “,”.

Exemplo: 12,23

M

ta certo, percebi isso uns 30 mins depois da postagem vlw ai velho, da proxima vo tenta resolve antes de apela aqui hahaha =]

Criado 24 de junho de 2012
Ultima resposta 24 de jun. de 2012
Respostas 3
Participantes 3