Quantcast
Channel: GUJ - Tópicos com a tag java
Viewing all articles
Browse latest Browse all 17410

Erro em saída de dados

$
0
0

@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

Ler tópico completo


Viewing all articles
Browse latest Browse all 17410

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>