Re:Erro no método nextDouble();

3 respostas
luizfar

Estranho, copiei e colei seu código no Eclipse e funcionou.

3 Respostas

S

Filipe, voce esta usando unix ou windows ?

se for windows use a virgula no lugar do ponto

concerteza funcionara

Filipe_Cruz

[nota] to usando o NetBeans…

public class Account {
    
    private double balance;
    
    public Account (double inicialBalance)
    {
       if ( inicialBalance > 0.0)
           balance = inicialBalance;
    }
    
    public void credit(double amount)
    {
        balance = balance + amount;
    }
    
    public double getBalance()
    {
        return balance;
    }
    
    public void debit(double debit)
    {
        if ((debit <= balance) && (debit > 0.0))
            balance = balance - debit;
        if (debit > balance)
            System.out.print("Debit amount exeeded account balance\n");
    }
    
}

declarei os métodos normalmente… mas depois quando eu mando compilar ele me da um resposta de erro… e ele nem executa o System.out.print("Enter deposit amount for account1: ") que eu pedi… mas tipo o compilador leu soh os dois primeiros System.out das duas account… e fica dando erro no metodo nextDouble(); e aquele X vermelho do lado da linha de codigo que eu dequarei o nextDouble(); olha soh o code:

import java.util.Scanner;

public class AccountTest {
    
    public static void main (String args[])
    {
        Account account1 = new Account(100.00);
        Account account2 = new Account(-7.50);
        
        System.out.printf("account1 balance: $%.2f\n", account1.getBalance());
        System.out.printf("account2 balance: $%.2f\n", account2.getBalance());
        
        Scanner input = new Scanner (System.in);
        double depositAmount; // cria um numero a ser depositado na conta
        
        System.out.print("Enter deposit amount for account1: "); // account1
        depositAmount = input.nextDouble();
        System.out.printf("\nadding %.2f to account1 balance\n\n", depositAmount); // quantia debitada
        account1.credit(depositAmount);
        
             
        System.out.printf("account1 balance: $%.2f\n", account1.getBalance());
        System.out.printf("account2 balance: $%.2f\n", account2.getBalance());
        
        System.out.printf("Enter deposit amount for account2: ");
        depositAmount = input.nextDouble();
        System.out.printf("\nadding %.2f to account2 balance\n\n", depositAmount);
        account2.credit(depositAmount);
        
        System.out.printf("account1 balance: $%.2f\n", account1.getBalance());
        System.out.printf("account2 balance: $%.2f\n", account2.getBalance());
        
        double debitBalance;
        System.out.print("Enter with valor que deseja retirar: ");
        debitBalance = input.nextDouble();
        System.out.printf("\ndebit %.2f to account1 balance", debitBalance);
        account1.debit(debitBalance);
        
        System.out.print("Entre com o valor que deseja retirar: ");
        debitBalance = input.nextDouble();
        System.out.printf("\ndebit %.2f to account2 balance", debitBalance);
        account2.debit(debitBalance);
        
      }
    
}

abraços…

Filipe_Cruz

tah dando esse erro

Exception in thread "main" java.util.InputMismatchException
        at java.util.Scanner.throwFor(Scanner.java:819)
        at java.util.Scanner.next(Scanner.java:1431)
        at java.util.Scanner.nextDouble(Scanner.java:2335)
        at AccountTest.main(AccountTest.java:30)
Criado 23 de maio de 2006
Ultima resposta 23 de mai. de 2006
Respostas 3
Participantes 3