@amanda16 escreveu:
Oi pessoal, sou iniciante em java e não consigo entender os erros de saídas num exemplo que fiz.
No caso, o erro é no método de saque da classe Conta. Em alguns valores de entrada o resultado sai errado (imagem abaixo), já em outros sai correto. Alguém aí pode me ajudar e explicar o por quê disso? Valeu!package exemploConta; public class Conta { //declaração das variáveis de objeto, ou atributos. São o "projeto" de uma conta public int numero; public String cliente; public double saldo; public double limite; //definição de métodos de saque e depósito boolean saca(double valor){ if (this.saldo < valor){ return false; } else{ this.saldo = this.saldo - valor; return true; } } void deposita(double valor) { this.saldo += valor; } }
package exemploConta; import java.util.Scanner; public class Programa { private static Scanner in; public static void main(String[] args) { //início a um novo objeto chamado "minhaConta", do tipo Conta Conta minhaConta = new Conta(); //carregamento manual de valores nos atributos minhaConta minhaConta.numero = 12345; minhaConta.cliente = "Amanda"; minhaConta.saldo = 1000.00; minhaConta.limite = 2000.00; //impressão dos status da conta System.out.println("Conta criada com sucesso!"); System.out.println("Número da Conta: " + minhaConta.numero); System.out.println("Cliente: " + minhaConta.cliente); System.out.println("Limite: R$ " + minhaConta.limite); System.out.println("Saldo atual: R$ " + minhaConta.saldo); System.out.println("**********************"); //leitura de valor para saque in = new Scanner(System.in); System.out.println("Digite o valor para saque"); double valorsaque = in.nextDouble(); //invocação de método saque minhaConta.saca(valorsaque); if (minhaConta.saca(valorsaque)){ System.out.println("Saque efetuado com sucesso. Seu novo saldo é: R$" + minhaConta.saldo); } else{ System.out.println("Não é possível efetuar o saque. Seu saldo atual é: R$" + minhaConta.saldo); } //leitura de valor para depósito System.out.println("********************"); System.out.println("Digite o valor para depósito"); double valordeposito = in.nextDouble(); //invocação de método depósito minhaConta.deposita(valordeposito); System.out.println("Novo saldo após depósito: " + minhaConta.saldo); } }
Mensagens: 2
Participantes: 2