Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

LojaRoupas

Criei um mini mundo sobre loja de roupas e gostaria que vissem e apontassem erros (caso tenha), esse mini mundo aborda todo o conteúdo visto no curso.

package lojaRoupas;

public class LojaRoupas {

    public String cidade;
    public String endereco;
    public int numero;
    public long cep;
    private float receitaMensal;
    private float despesaMensal;
    private float precoRoupa;
    public float valorMercadologico = 30000.00f;

    public float getReceitaMensal() {
        return receitaMensal;
    }

    public void setReceitaMensal(float receitaMensal) {
        this.receitaMensal = receitaMensal;
    }

    public float getPrecoRoupa() {
        return precoRoupa;
    }

    public void setPrecoRoupa(float precoRoupa) {
        this.precoRoupa = precoRoupa;
    }

    public float getDespesaMensal() {
        return despesaMensal;
    }

    public void setDespesaMensal(float despesaMensal) {
        this.despesaMensal = despesaMensal;
    }
}
package lojaRoupas;

public abstract class Colaborador {

    private String nome;
    private String sobrenome;
    private long dataNascimento;
    private String email;
    private long celular;
    private String endereco;
    private String cargo;
    private float salario;
    private float bonus;

    public abstract void recebeSalario();

    public abstract void pedirDemissao(LojaRoupas loja, Colaborador colaborador);

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getSobrenome() {
        return sobrenome;
    }

    public void setSobrenome(String sobrenome) {
        this.sobrenome = sobrenome;
    }

    public long getDataNascimento() {
        return dataNascimento;
    }

    public void setDataNascimento(long dataNascimento) {
        this.dataNascimento = dataNascimento;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public long getCelular() {
        return celular;
    }

    public void setCelular(long celular) {
        this.celular = celular;
    }

    public String getEndereco() {
        return endereco;
    }

    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }

    public float getSalario() {
        return salario;
    }

    public void setSalario(float salario) {
        this.salario = salario;
    }

    public String getCargo() {
        return cargo;
    }

    public void setCargo(String cargo) {
        this.cargo = cargo;
    }

    public float getBonus() {
        return bonus;
    }

    public void setBonus(float bonus) {
        this.bonus = bonus;
    }
}
package lojaRoupas;

public class Caixa extends Colaborador {

    public void aceitarPagamento(Cliente cliente, LojaRoupas roupa) {
        if (cliente.getSaldo() >= roupa.getPrecoRoupa()) {
            System.out.println("Obrigado pela compra e volte sempre");
        } else {
            System.out.println("Saldo insuficiente!");
        }
    }

    @Override
    public void recebeSalario() {
        float salarioMensal = (super.getSalario() * super.getBonus()) + super.getSalario();
        System.out.println("O salário da Caixa é R$ " + salarioMensal);
    }

    @Override
    public void pedirDemissao(LojaRoupas loja, Colaborador colaborador) {
        float despesaAtual = loja.getDespesaMensal() - colaborador.getSalario();
        System.out.println("Despesa atual da loja = R$ " + despesaAtual);
    }
}
package lojaRoupas;

public class Faxineiro extends Colaborador{

    public void faxina() {
        System.out.println("A faxineira(o) está limpando.");
    }

    @Override
    public void recebeSalario() {
        float salarioMensal = (super.getSalario() * super.getBonus()) + super.getSalario();
        System.out.println("O salário do faixineiro é R$ " + salarioMensal);
    }

    @Override
    public void pedirDemissao(LojaRoupas loja, Colaborador colaborador) {
        float despesaAtual = loja.getDespesaMensal() - colaborador.getSalario();
        System.out.println("Despesa atual da loja = R$ " + despesaAtual);
    }
}
package lojaRoupas;

public class Gerente extends Colaborador implements SistemaLoja {

    public void contratar(Gerente gerente, Colaborador colaborador) {
        System.out.println("O gerente " + gerente.getNome() + " contratou " + "o colaborador "
                + colaborador.getNome()
                + " como " + colaborador.getCargo());
    }

    @Override
    public void recebeSalario() {
        float salarioMensal = (super.getSalario() * super.getBonus()) + super.getSalario();
        System.out.println("O salário do gerente é R$ " + salarioMensal);
    }

    @Override
    public void pedirDemissao(LojaRoupas loja, Colaborador colaborador) {
        float despesaAtual = loja.getDespesaMensal() - colaborador.getSalario();
        System.out.println("Despesa atual da loja = R$ " + despesaAtual);
    }

    @Override
    public void acessaSistema(Colaborador gerente) {
        System.out.println("Acesso a todas informações do colaboradores liberado para o gerente " + gerente.getNome());
    }
}

Continua logo nas respostas

3 respostas

Continuação do mini mundo de loja de roupas

package lojaRoupas;

public class Vendedor extends Colaborador{

    private float comissao;
    private int numeroVendas;

    public float getComissao() {
        return comissao;
    }

    public void setComissao(float comissao) {
        this.comissao = comissao;
    }

    public int getNumeroVendas() {
        return numeroVendas;
    }

    public void setNumeroVendas(int numeroVendas) {
        this.numeroVendas = numeroVendas;
    }

    @Override
    public void recebeSalario() {
        float comissao = super.getSalario() * this.comissao;
        float bonus = super.getSalario() * super.getBonus();
        float salarioMensal = comissao + bonus + super.getSalario();
        System.out.println("O salário do vendedor é R$ " + salarioMensal);
    }

    @Override
    public void pedirDemissao(LojaRoupas loja, Colaborador vendedor) {
        float despesaAtual = loja.getDespesaMensal() - vendedor.getSalario();
        System.out.println("Despesa atual da loja = R$ " + despesaAtual);
    }
}
package lojaRoupas;

public class Proprietario extends LojaRoupas implements SistemaLoja{

    private float patrimonio;
    private float caixa;

    @Override
    public void acessaSistema(Colaborador proprietario) {
        System.out.println("Acesso a todas informações dos colaboradores liberadas para o proprietário " + proprietario);
    }

    public void investirLoja(Proprietario proprietario, float investimentoLoja) {
        float custoInvestimento = proprietario.getPatrimonio() - investimentoLoja;
        if (investimentoLoja < 1000 || investimentoLoja > proprietario.getPatrimonio()) {
            System.out.println("Valor investido inválido!");
        } else {
            super.valorMercadologico += investimentoLoja;
            System.out.println("O valor de mercado da Loja agora é R$ " + super.valorMercadologico);
        }
    }

    public void quitarDivida() {
        if (super.getDespesaMensal() > super.getReceitaMensal()) {
            this.patrimonio -= super.getDespesaMensal();
            System.out.println("Dívida quitada! Agora seu patrimônio é de R$ " + this.patrimonio);
        }
    }

    public void exibeLucro(LojaRoupas loja) {
        this.caixa = loja.getReceitaMensal() - loja.getDespesaMensal();
        System.out.println("A loja possui esse mês R$ " + this.caixa + " de caixa");
        this.caixa += this.patrimonio;
    }

    public float getPatrimonio() {
        return patrimonio;
    }

    public void setPatrimonio(float patrimonio) {
        this.patrimonio = patrimonio;
    }

    public float getCaixa() {
        return caixa;
    }

    public void setCaixa(float caixa) {
        this.caixa = caixa;
    }
}
package lojaRoupas;

public abstract interface SistemaLoja {

    public abstract void acessaSistema(Colaborador colaborador);

}

Continua logo abaixo

Última classe

package lojaRoupas;

public class Referencias {

    public static void main(String[] args) {

        //População e criação de objetos
        Vendedor vendedor = new Vendedor();
        vendedor.setNome("Carlos");
        vendedor.setSobrenome("Lima");
        vendedor.setDataNascimento(13082001);
        vendedor.setEmail("carloslima@gmail.com");
        vendedor.setSalario(2000.00f);
        vendedor.setEndereco("Rua das goiabas 123");
        vendedor.setCelular(111111111);
        vendedor.setCargo("Vendedor");
        vendedor.setNumeroVendas(80);
        vendedor.setComissao(0.12f);
        vendedor.setBonus(0.10f);

        Colaborador faxineiro = new Faxineiro();
        faxineiro.setNome("Lúcio");
        faxineiro.setSobrenome("Fária");
        faxineiro.setDataNascimento(14051998);
        faxineiro.setEmail("luciofaria@gmail.com");
        faxineiro.setSalario(2300.00f);
        faxineiro.setEndereco("Rua Alcantrá 120");
        faxineiro.setCelular(222222222);
        faxineiro.setCargo("Faxineiro");
        faxineiro.setBonus(0.10f);

        Caixa caixa = new Caixa();
        caixa.setNome("Melissa");
        caixa.setSobrenome("Pêra");
        caixa.setDataNascimento(19012012);
        caixa.setEmail("melissapera@gmail.com");
        caixa.setSalario(1700.00f);
        caixa.setEndereco("Rua dos Abacates");
        caixa.setCelular(333333333);
        caixa.setCargo("Caixa");
        caixa.setBonus(0.10f);

        Gerente gerente = new Gerente();
        gerente.setNome("Lucas");
        gerente.setSobrenome("Pereira");
        gerente.setDataNascimento(15041999);
        gerente.setEmail("lucaspereira@gmail.com");
        gerente.setSalario(3000.00f);
        gerente.setEndereco("Rua Maça 140");
        gerente.setCelular(444444444);
        gerente.setBonus(0.10f);

        Cliente cliente = new Cliente();
        cliente.setNome("Eitor");
        cliente.setSobrenome("Gama");
        cliente.setCpf(1111111111);
        cliente.setSaldo(5000.00f);

        LojaRoupas loja = new LojaRoupas();
        loja.cep = 11111111;
        loja.endereco = "Rua Fardegão";
        loja.numero = 1200;
        loja.setReceitaMensal(20000.00f);
        loja.setDespesaMensal(14000.00f);
        loja.setPrecoRoupa(130.00f);

        Proprietario proprietario = new Proprietario();
        proprietario.setPatrimonio(50000.00f);

        //chamada de métodos

        //métodos do gerente
        gerente.contratar(gerente, faxineiro);
        gerente.contratar(gerente, vendedor);
        gerente.contratar(gerente, caixa);
        gerente.recebeSalario();
        gerente.acessaSistema(gerente);

        //métodos do caixa
        caixa.aceitarPagamento(cliente, loja);
        caixa.recebeSalario();

        //métodos do vendedor
        vendedor.recebeSalario();
        vendedor.pedirDemissao(loja, vendedor);

        //métodos do proprietário
        proprietario.investirLoja(proprietario, 2000);
        proprietario.quitarDivida();
        proprietario.exibeLucro(loja);
    }
}
solução!

Oie Lucas, tudo bem contigo?

Pelo que vejo seu código está correto! Fico muito bom, é dessa maneira mesmo que você vai conseguir dominar esses assuntos!

Durante a formação Java você irá aprender outras funções da API Java, dessa forma automaticamente você irá notar o que você pode melhorar do seu código, mas quanto ao conteúdo já visto, seu código ficou ótimo.

Se no futuro tiver qualquer dúvida é só mandar aqui no fórum que a gente te ajuda :)

Continue assim e bons estudos!