Boa tarde, então estou treinando aqui no java, e não estou conseguindo chegar no meu resultado, vou postar meu codigo aqui primeiro fiz a class Endereco até aqui ta tudo certo.
package br.edu.bercalini.metodos;
public class Endereco {
private String bairro;
private int numeroCasa;
public Endereco() {}
public Endereco(String bairro, int numeroCasa) {
this.bairro = bairro;
this.numeroCasa = numeroCasa;
}
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public int getNumeroCasa() {
return numeroCasa;
}
public void setNumeroCasa(int numero) {
this.numeroCasa = numero;
}
@Override
public String toString() {
return " seu bairro: " + getBairro() + " numero da casa: " + getNumeroCasa();
}
}
E depois fiz a class Cliente como segue o código abaixo
package br.edu.bercalini.metodos;
public class Cliente {
private String nome;
private int idade;
private ControleVendas venda = new ControleVendas();
private Endereco endereco = new Endereco();
public Cliente() {}
public Cliente(Endereco endereco) {
this.endereco = endereco;
}
public Cliente(String nome, int idade, Endereco endereco) {
this.nome = nome;
this.idade = idade;
this.endereco = endereco;
}
public Cliente(ControleVendas controle) {
this.venda = controle;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getIdade() {
return idade;
}
public void setIdade(int idade) {
this.idade = idade;
}
@Override
public String toString() {
return "Nome cliente: " + getNome() + " " + "de " + getIdade() + " anos";
}
public Endereco getEndereco() {
return endereco;
}
public void mostrarConta(Cliente c) {
System.out.println("Você esta devendo: " +c.getVenda().valor);
}
public void pagarConta(double valor, Cliente pagador) {
ControleVendas controle = new ControleVendas();
if(valor >= controle.getValor()) {
}
}
public ControleVendas getVenda() {
return venda;
}
public void setVenda(ControleVendas venda) {
this.venda = venda;
}
}
Até aqui também esta tudo bem, e depois fiz a class de Venda.
package br.edu.bercalini.metodos;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class ControleVendas {
protected double valor;
private Cliente cliente;
private List<ControleVendas> vendas = new ArrayList<>();
public ControleVendas() {}
public ControleVendas(Cliente cliente) {
this.cliente = cliente;
}
public ControleVendas(double valor, Cliente cliente) {
this.valor = valor;
this.cliente = cliente;
}
public void venda(double valor, Cliente c) {
setValor(valor);
vendas.add(new ControleVendas(valor, c));
}
public void mostrarVendas() {
for(ControleVendas controle: vendas) {
System.out.println("[" + controle.cliente + "" + controle.cliente.getEndereco() + " " +
"total compra: " + controle.valor + "]");
}
}
public void setValor(double valor) {
this.valor = valor;
}
public double getValor() {
return valor;
}
}
Estou conseguindo registrar minha conta no meu metodo venda até ai ta tudo bem, no meu main roda tudo certinho. porem queria fazer um metodo no minha class cliente que deseja retornar/mostrar valor que ele está devendo, e ja mudei tudo, e não consegui que o resultado e sempre me mostra o 0, vou colar meu código do main...
package br.edu.bercalini.main;
import br.edu.bercalini.metodos.Cliente;
import br.edu.bercalini.metodos.ControleVendas;
import br.edu.bercalini.metodos.Endereco;
public class Controle_vendas {
public static void main(String[] args) {
Endereco e1 = new Endereco();
e1.setBairro("Testando");
e1.setNumeroCasa(10);
Cliente c1 = new Cliente(e1);
c1.setNome("Teste");
c1.setIdade(14);
ControleVendas cv = new ControleVendas();
cv.venda(4000, c1);
cv.mostrarVendas();
c1.mostrarConta(c1);
}
}
[Nome cliente: Teste de 14 anos seu bairro: Testando numero da casa: 10 total compra: 4000.0]
Você esta devendo: 0.0
Como falado o resultado devedor não sai do 0 :(