Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ficticiaLimitada;
- /**
- * @Author: Breno A. Santos
- *
- * @Descripton:
- * Esta classe implementa a estrutura de dados
- * array (vetor) para guardar as referencias desejadas,
- * alem de metodos usados para manipular os dados nele
- * armazenados.
- */
- public class Vetor {
- /** Atributos */
- private Funcionario[] employee;
- private int contaPosicoesOcupadas = 0;
- /** Construtores */
- public Vetor(int tamanho) {
- this.employee = new Funcionario[ tamanho ];
- }
- /**
- * Metodos
- */
- // Retorna a primeira posicao vazia do vetor
- public int retornaPosicaoLivre() {
- boolean achou = false;
- int indexLivre = -1; // Define -1 para controle de cadastro
- for( int i = 0; i < this.employee.length && achou == false; i++ ) {
- if( this.employee[ i ] == null ) {
- achou = true;
- indexLivre = i;
- } // fim do if
- } // fim do for
- return indexLivre;
- }
- public boolean cadastra(Funcionario newEmployee) {
- int posicaoLivre;
- boolean retorno = false;
- posicaoLivre = retornaPosicaoLivre();
- if( posicaoLivre > -1 ) {
- this.employee[ posicaoLivre ] = newEmployee;
- retorno = true; // Verdadeiro para cadastro realizado
- this.contaPosicoesOcupadas++;
- }
- return retorno;
- }
- /** Metodo para alteracao de horas trabalhadas */
- public boolean alteraHoras(int id_funcionario, double new_qt_horas) {
- boolean achou = false;
- boolean retorno = false;
- for( int i = 0; i < this.employee.length && achou == false; i++ ) {
- if( id_funcionario == i ) {
- this.employee[ i ].setHoras(new_qt_horas);
- achou = true;
- retorno = true;
- }
- }
- return retorno;
- } // fecha alteraHoras()
- /** Faz o calculo do salario */
- public double calculaSalario(double qt_horas, char categoria) {
- double salario_parcial;
- double acrescimo;
- double salario_bruto = 0;
- // Compara e entra na categoria
- if( categoria == 'G' ) {
- salario_parcial = qt_horas * 112;
- acrescimo = (salario_parcial * 15) /100; // Aplica um acrescimo de 15% sobre o salario parcial
- salario_bruto = salario_parcial + acrescimo;
- } else {
- if( categoria == 'O' ) {
- salario_parcial = qt_horas * 112;
- acrescimo = (salario_parcial * 10) /100;
- salario_bruto = salario_parcial + acrescimo;
- }
- } // fecha o if/else
- return salario_bruto;
- } // fecha calculaSalario()
- // Retorna todos os valores do vetor
- public String toString() {
- String retorno = null;
- for( int i = 0; i < this.contaPosicoesOcupadas; i++ ) {
- retorno += "\n## ID :: " + i + this.employee[ i ].toString() + "\n> Salario ...............: R$ " + calculaSalario(this.employee[ i ].getHoras(), this.employee[ i ].getCategoria()) + "\n";
- }
- return retorno;
- } // fecha toString()
- } // fecha a classe Vetor
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement