3
respostas

Duvidas em um exercicio de Java

Todo funcionário tem um nome, um salário, um cpf e o ano de contratação. Para um dado empregado, deve ser possível inserir cada dados e obter seu nome, obter seu salário, aumentar seu salário de acordo com um percentual, obter o ano de contratação, imprimir seus dados na tela e verificar se um dado nome é igual ao do funcionário. Faça os métodos que atendam às solicitações acima.

Para simular uma empresa com seus funcionários, você deve criar uma classe/programa DemoEmpresa com o seguinte menu:

1- Cadastrar funcionário

2- Buscar funcionário pelo nome

3- Aumentar o salário de um funcionário

4- Exibir dados dos funcionários

5- Obter gasto mensal da empresa

6- Sair

package modelo;

public class Funcionario {
 private float salario ;
 private String nome,cpf;
 private int ano_contratacao;

 public Funcionario(float salario, String nome, String cpf, int ano_contratacao) {
    super();
    this.salario = salario;
    this.nome = nome;
    this.cpf = cpf;
    this.ano_contratacao = ano_contratacao;
}
 public Funcionario() {

 }
public float getSalario() { // Permitir valor do codigo fora da classe 
    return salario;
}
public void setSalario(float salario) { ; // Permite alterar fora da clase
    this.salario = salario;
}
public String getNome() {
    return nome;
}
public void setNome(String nome) {
    this.nome = nome;
}
public String getCpf() {
    return cpf;
}
public void setCpf(String cpf) {
    this.cpf = cpf;
}
public int getAno_contratacao() {
    return ano_contratacao;
}
public void setAno_contratacao(int ano_contratacao) {
    this.ano_contratacao = ano_contratacao;
}

public boolean verificaNome(String n) {
    if (nome.equalsIgnoreCase(n))
     return true;

    else
         return false;

}
 public String toString() {
     return("\nSalario " + this.salario+"\nNome"+ this.nome+"\nCPF: " + this.cpf + "\nAno de contratação " + this.ano_contratacao);
}
}
3 respostas
package principal;
import modelo.Funcionario;
import java.util.Scanner;

public class Demo_Empresa {

    public static void menu() {
        System.out.println("\n***Cadastro de Funcionarios ***\n");
        System.out.println("1 - Cadastro");
        System.out.println("2 - Busca funcionario");
                System.out.println("3 - Aumentar salario funcionario");
        System.out.println("4 - Exibir dados");
                System.out.println("5 - Gasto mensal da empresa ");
        System.out.println("6 - Sair");
        System.out.println("\n Informe sua opção:");
    }


    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Funcionario[] cadastro = new Funcionario[50];
        int op=4, qtd=0;


        do {
            menu();
            op = sc.nextInt();
            switch(op) {
            case 1:{
                if(qtd<50) {
                    cadastro[qtd] = new Funcionario();
                    System.out.println("Código: ");
                    cadastro[qtd].setCodigo(sc.nextInt());
                    sc.nextLine();
                    System.out.println("Nome: ");
                    cadastro[qtd].setNome(sc.nextLine());
                    sc.nextLine();
                    System.out.println("CPF: ");
                    cadastro[qtd].setCpf(sc.nextLine());
                    sc.nextLine();
                    System.out.println("Salario: ");
                    cadastro[qtd].setTelefone(sc.nextLine());
                    sc.nextLine();
                                        System.out.println("Ano_Contratacao: ");
                                        cadastro[qtd].setTelefone(sc.nextInt());
                                          sc.nextLine();
                    qtd++;
                }
                else {
                    System.out.println("Limite de funcionarios!!!");
                }
                break;
            }
            case 2:{
                if(qtd>0) {
                String n; boolean achou=false;
                System.out.println("Informe o nome desejado : ");
                n = sc.nextLine();

                for(int i=0;i<qtd;i++) {
                    if(cadastro[i].verificaNome(n)) {
                        System.out.println("Funcionario existente!");
                        achou = true;
                        break;
                    }

                }
                if(achou==false) {
                    System.out.println("O funcionario não foi encontrado!");
                }
                }
                else 
                    System.out.println("Não há funcionario cadastrado");
                break;
            }
              case 3:{
                  if(qtd>0) {
                      System.out.println("\nFuncionarios\n");
                      for(int i=0; i<qtd; i++) {
                          System.out.println(cadastro[i]);
                  }


                  }
                break;
        }
             case 4:{
                 System.out.println("Finalizando ...");
                 break;
             }
             default:{
                 System.out.println("Opção Invalida");
             }

    }

        }while(op!=4);


}

    }

São os 2 codigos acima . Não consegui. Aumentar salario funcionario e o gasto mensal da empresa.

Olá, minha sugestão:

  • Aumentar salario funcionário, em Funcionario, um método reajustaSalario, que receberia o valor percentual de reajuste e faria o cálculo baseado no salário atual.

  • Gasto mensal da empresa, criar uma classe Empresa, que terá um vetor de Funcionario. Ou seja:

    • Funcionario[] funcionarios será um atributo de Empresa.
    • Empresa poderá ter também um outro atributo double gastoMensal, que acumularia todos os salários de todos os funcionários.
    • Empresa poderia ter também um método adicionaFuncionario, que seria utilizado para inserir um Funcionário criado no vetor funcionariose ao mesmo tempo, acumular seu salário na variável gastoMensal.

Enfim, essa é uma sugestão, acredito que existam muitas outras formas.

Caso este post tenha te ajudado, por favor, marcar como solucionado. Bons estudos! =)