Como exibir numeros negativos no código abaixo?

3 respostas
J_ALEX

Como exibir numeros negativos no código abaixo?

Aguardo. Valeu!!!

public class Conta {

	private double saldo;

	public Conta(double saldoInicial) {
		if (saldoInicial > 0.0)
			saldo = saldoInicial;
	}

	public void creditar(double montante) {
		saldo = saldo + montante;
	}	

	p8ublic double getSaldo() {
		return saldo;
	}
}
import java.util.Scanner;

public class TesteConta {

	public static void main(String[] args) {

		Conta conta1 = new Conta(50.00);
		Conta conta2 = new Conta(-1.00);

		System.out.printf("Saldo da conta1 eh: $%.2f\n", conta1.getSaldo());
		System.out.printf("Saldo da conta2 eh: $ %.2f\n\n", conta2.getSaldo());

		Scanner input = new Scanner(System.in);
		double montanteDepositado;

		System.out.print("Deposite o montante para Conta 1! ");
		montanteDepositado = input.nextDouble();
		System.out.printf("\nAdicionando %.2f para Conta 1\n\n",
				montanteDepositado);
		conta1.creditar(montanteDepositado);
		System.out.printf("Saldo da Conta 1: $%.2f\n", conta1.getSaldo());
		System.out.printf("Saldo da Conta 2: $%.2f\n", conta2.getSaldo());

		System.out.print("Deposite o montante para Conta 2! ");
		montanteDepositado = input.nextDouble();
		System.out.printf("\nAdicionando %.2f para Conta 2\n\n",
				montanteDepositado);
		conta2.creditar(montanteDepositado);
		System.out.printf("Saldo da Conta 1: $%.2f\n", conta1.getSaldo());
		System.out.printf("Saldo da conta 2: $%.2f\n", conta2.getSaldo());

	}

}

3 Respostas

rso1988

Olá J_ALEX,

utilize

System.out.println("Saldo da conta1 eh: " + conta1.getSaldo());

ao invés de

System.out.printf("Saldo da conta1 eh: $%.2f\n", conta1.getSaldo());

que naturalmente quando saldo for negativo, irá exibir corretamente.

[]'s

Eric_Yuzo

O printf funciona normalmente com número negativo.

O problema neste caso é que o construtor está ignorando valores negativos na hora de carregar o saldo.

public Conta(double saldoInicial) { if (saldoInicial > 0.0) saldo = saldoInicial; }

A

Olá,

Para exibir voce tem que tirar o if , por que voce esta condicionando que a private saldo recebe o valor somente se for maior que zero. logo se voce entrar com um valor negativo ela não passa pelo if.

seria importante fazer outra validacao para saldo negativo. apesar que falando logicamente um saldo inicial dificilmente sera menor que zero.

o java recomenda usar o this para setar os valores na classe (this.saldo = this.saldo+saldoInicial)

no seu getSaldo utlize : return this.saldo;

Criado 29 de setembro de 2010
Ultima resposta 29 de set. de 2010
Respostas 3
Participantes 4