Erro com métodos

2 respostas
D

Olá pessoal, sou iniciante em Java e também em POO, já vi alguma coisa de Java na faculdade mas bem pouco, sem contar que boas práticas e metodologias passam longo dos ensinamentos passados em faculdade, por isso gosto de estudar por conta através de livros e apostilas.

Estou iniciando meus estudos em Java através da apostila FJ11 da Caelum, que a maioria deve conhecer, e estou seguindo os exemplos passados, construindo as classes passadas na apostila, referente a um pequeno sistema bancário.

Porém nos exemplos passados na apostila é feito acesso direto a objetos e não através de métodos (é pq estou no começo ainda, acredito que depois eles devem melhorar as coisas utilizando os conceitos da OO) e eu já comecei implementar os exemplos da apostila usando um pouco de encapsulamento, classes entidades e também classes de negócio, alguns conceitos que tenho aprendido no meu estágio com C#.

Pois bem, estou com um erro, vou postar as classes que criei aqui e depois o erro que acontece.

Modelo de classe Conta
package caelum;

public class Conta {
	
	//Atributos
	private int numero;
	private String nome;
	private double saldo;
	private double limite;
	
		
	//Getters e Setters
	public int getNumero(){
		return numero;
	}
	public void	setNumero(int numero){
		this.numero = numero;
	}

	public String getNome(){
		return nome;
	}
	public void setNome(String nome){
		this.nome = nome;
	}
	
	public double getSaldo(){
		return saldo;
	}
	public void setSaldo(double saldo){
		this.saldo = saldo;
	}
	
	public double getLimite(){
		return limite;
	}
	public void setLimite(double limite){
		this.limite = limite;
	}
}

Classe de Negócio

package caelum_negocio;
import caelum.Conta;

public class negocioConta {
	
	public negocioConta(Conta conta){
			
	public void Saque(double valorSaque){
		double novoSaldo = conta.getSaldo();
		novoSaldo = (novoSaldo - valorSaque);
		conta.setSaldo(novoSaldo);
	}
	
	public void Deposito(double valorDeposito){
		double novoSaldo = conta.getSaldo();
		novoSaldo = (novoSaldo + valorDeposito);
		conta.setSaldo(novoSaldo);
	}

}

	
}

E tem também uma classe principal onde vou passar valores via hard code e instanciar essa classe de negócio para fazer a mágica. Porém, nesta classe, o Java está identificando Saque e Deposito como variáveis, e são métodos....Ele diz "void is an invalid type for the variable Saque" e a mesma coisa para Deposito. E após fechar os parênteses dos parâmetros, ele fica esperando ponto e vírgula. Isso aconteceu depois que coloquei o método construtor, antes nessa classe, antes dos métodos eu colocava : "Conta conta = new Conta();"

E aí não dava nenhum erro, mas como essa classe vai receber a conta via parâmetro aí criei o método construtor para essa classe receber uma conta de outro lugar...Alguém sabe o que está acontecendo, podem me ajudar?

Muito obrigado

Abraços

2 Respostas

cristiano.andrade

Daniel,

Voce declarou os metodos dentro do construtor por isso da esse erro,

Tente assim:

package caelum_negocio;
import caelum.Conta;

public class negocioConta {
	
	public negocioConta(Conta conta){
	// aqui vc inicializa a conta
    }
		
	public void Saque(double valorSaque){
		double novoSaldo = conta.getSaldo();
		novoSaldo = (novoSaldo - valorSaque);
		conta.setSaldo(novoSaldo);
	}
	
	public void Deposito(double valorDeposito){
		double novoSaldo = conta.getSaldo();
		novoSaldo = (novoSaldo + valorDeposito);
		conta.setSaldo(novoSaldo);
	}

	
}
D

valeu amigo, deu certo aqui ! Consegui avançar um pouco no código, fiquei quebrando a cabeça com outro erro, mas esse consegui enxergar sozinho.

abraço

Criado 20 de abril de 2008
Ultima resposta 20 de abr. de 2008
Respostas 2
Participantes 2