Ajuda com Retornar Nome, comissão, salario atraves do metodo toString
3 respostas
R
robertorp
Sobreescreva o método toString de forma que ele imprima o nome do
funcionário, a comissão e o salário total. Imprima todos os funcionários da
empresa criada no exercício 7.
ps: Nome do funcionário esta em uma classe
Salário esta em outra classe
comissão esta em outra classe
queria alguma dica sobre como retornar esses valores atrasves do metodo toString
Obrigado.
/* * To change this template, choose Tools | Templates * and open the template in the editor. */packageempresateste;importjava.util.ArrayList;importjava.util.List;importjava.util.Scanner;/** * Classe principal. * @author Roberto */publicclassEmpresaTeste{/** * Metodo main. * @param args the command line arguments */publicstaticvoidmain(String[]args){// TODO code application logic hereCadastroFuncionariocadastro;List<CadastroFuncionario>funcionario=newArrayList<>();Stringnome;Integercodigo;Doublesalario;charescolaridade;charresposta='s';Empresaempresa=newEmpresa();DoublesaldoEmpresa=null;DoublesaldoEmpresaInicial;ComissaoFuncionariocomissao=newComissaoFuncionario();while(resposta=='s'){salario=1000.0;Scannerentrada=newScanner(System.in);cadastro=newSalario();System.out.println("CADASTRO DE FUNCIONARIO");System.out.println();System.out.print("Nome: ");nome=entrada.nextLine();cadastro.setNomeFuncionario(nome);System.out.print("Código: ");codigo=entrada.nextInt();cadastro.setCodigoFuncionario(codigo);System.out.println("Escolaridade");System.out.println("Não estudou(N)");System.out.println("Ensino basico(B)");System.out.println("Ensino medio(M)");System.out.println("É graduado(G)");escolaridade=entrada.next().toUpperCase().charAt(0);cadastro.setEscolaridadeFuncionario(escolaridade);salario=((Salario)cadastro).SalarioEscolaridade(escolaridade,salario);((Salario)cadastro).setSalario(salario);funcionario.add(cadastro);System.out.println();System.out.println("Deseja continuar?(s/n): ");resposta=entrada.next().toLowerCase().charAt(0);}System.out.println();System.out.println();empresa.setEmpresaCaixa(100000.0);saldoEmpresaInicial=empresa.getEmpresaCaixa();for(CadastroFuncionarioj:funcionario){System.out.println("Nome: "+j.getNomeFuncionario());System.out.println("Código: "+j.getCodigoFuncionario());System.out.println("Salário: "+((Salario)j).getSalario());comissao.comissao(j.getEscolaridadeFuncionario());System.out.println();saldoEmpresa=empresa.saldoEmpresa(((Salario)j).getSalario(),empresa.getEmpresaCaixa());empresa.setEmpresaCaixa(saldoEmpresa);}empresa.setEmpresaCaixa(saldoEmpresa);System.out.println("Saldo da Empresa Inicial: "+saldoEmpresaInicial);System.out.println("Saldo da Empresa Final: "+empresa.getEmpresaCaixa());}}
CLASSE EMPREA
/* * To change this template, choose Tools | Templates * and open the template in the editor. */packageempresateste;/** * Despesas e Caixa da empresa * @author Roberto */publicclassEmpresa{privateDoubleempresaCaixa;privateDoublesalarioFuncionarios;/** * Recebe o caixa da empresa atual. * @param empresaCaixa */publicvoidsetEmpresaCaixa(DoubleempresaCaixa){this.empresaCaixa=empresaCaixa;}/** * Retorna o caixa da empresa. * @return empresaCaixa */publicDoublegetEmpresaCaixa(){returnempresaCaixa;}publicDoublesaldoEmpresa(DoublesalarioFuncionarios,DoubleempresaCaixa){empresaCaixa=empresaCaixa-salarioFuncionarios;returnempresaCaixa;}}
CLASSE CADASTRO FUNCIONARIO
/* * To change this template, choose Tools | Templates * and open the template in the editor. */packageempresateste;/** * Classe pai, de Cadastro de funcionario * @author Roberto */publicclassCadastroFuncionario{privateIntegercodigoFuncionario;privateStringnomeFuncionario;privatecharescolaridadeFuncionario;privateComissaoFuncionariocomissao=newComissaoFuncionario();/** * Retorna código do funcionário. * @return codigoFuncionario */publicIntegergetCodigoFuncionario(){returncodigoFuncionario;}/** * Recebe como parâmetro o codigo do funcionario. * @param codigoFuncionario */publicvoidsetCodigoFuncionario(IntegercodigoFuncionario){this.codigoFuncionario=codigoFuncionario;}/** * Retorna nome do funcionário. * @return nomeFuncionario */publicStringgetNomeFuncionario(){returnnomeFuncionario;}/** * Recebe o nome do funcionário como parâmetro. * @param nomeFuncionario */publicvoidsetNomeFuncionario(StringnomeFuncionario){this.nomeFuncionario=nomeFuncionario;}/** * Retorna grau de escolaridade do funcionário. * @return */publicchargetEscolaridadeFuncionario(){returnescolaridadeFuncionario;}/** * Recebe como parâmetro o grau de formação do funcionário. * @param escolaridadeFuncionario */publicvoidsetEscolaridadeFuncionario(charescolaridadeFuncionario){this.escolaridadeFuncionario=escolaridadeFuncionario;}@OverridepublicStringtoString(){return"Nome: "+this.nomeFuncionario+"Comissao: ";}}
CLASSE SALÁRIO FUNCIONÁRIO
/* * To change this template, choose Tools | Templates * and open the template in the editor. */packageempresateste;/** * Classe Salário extenção da classe CadastroFuncionario. * @author Roberto */publicclassSalarioextendsCadastroFuncionario{privateDoublesalario=1000.0;privateComissaoFuncionariocomissao=newComissaoFuncionario();/** * Recebe salário por parâmetrisação. * @param salario */publicvoidsetSalario(Doublesalario){this.salario=salario;}/** * Retorna o salário do funcionario. * @return salario */publicDoublegetSalario(){returnsalario;}/** * Verifica grau de formação do funcionário e calcula o salário. * @param escolaridadeFuncionario * @param salario * @return salario */publicDoubleSalarioEscolaridade(charescolaridadeFuncionario,Doublesalario){switch(escolaridadeFuncionario){case'N':return(((salario*10)/100)+salario)+comissao.getVendedor();case'B':return(((salario*50)/100)+salario)+comissao.getSupervisor();case'M':return(((salario*50)/100)+salario)+comissao.getSupervisor();case'G':return(((salario*100)/100)+salario)+comissao.getGerente();}returnnull;}@OverridepublicStringtoString(){return"toString do Salario";}}
CLASSE COMISSÃO
/* * To change this template, choose Tools | Templates * and open the template in the editor. */packageempresateste;/** * Calcula comições dos funcionarios. * @author Roberto */publicclassComissaoFuncionario{privateDoublegerente=1500.0;privateDoublesupervisor=600.0;privateDoublevendedor=250.0;publicDoublegetGerente(){returngerente;}publicDoublegetSupervisor(){returnsupervisor;}publicDoublegetVendedor(){returnvendedor;}publicvoidcomissao(charcomissaoo){switch(comissaoo){case'N':System.out.println("Comissão: "+vendedor);break;case'B':System.out.println("Comissão: "+supervisor);break;case'M':System.out.println("Comissão: "+supervisor);break;case'G':System.out.println("Comissão: "+gerente);break;default:System.out.println();}}}
Esta tudo dentro de arraylist
tenho que extrair , jogar no toString e imprimir
todos que estiverem cadastrado