Solução do Problema anterior!

2 respostas
Astesio

Olá Pessoal. Eu tentei add esse código que irei add agora mesmo no meu post antigo mas não consegui como então me perdoem.
Bom, recentemente eu trouxe um problema que não estava conseguindo resolver. Pois sou iniciante em Java. Mas Graças a Deus tudo ocorreu legal e vim trazer a soluçao do meu problema. Espero que gostem. Há comprei o Livro do Deitel "como programar java 8 edição", estou muito entusiasmado com a linguagem.

O problema era o seguinte.

Defina uma classe denominada Funcionario, que possua os seguintes aspectos:
Atributos: id, nome, cpf, salario, departamento e estaNaEmpresa (valor booleano).
Métodos:
o bonifica(double): aumenta o salário do funcionário de acordo com o parâmetro passado.
o demite(): não recebe parâmetro. Apenas altera o atributo estaNaEmpresa para false.
o mostra(): exibe todos os atributos de um funcionário.

- Crie outra classe denominada Principal, com o método main, e declare e preencha um vetor de 5 funcionários, com valores aleatórios (Funcionario[] funcionarios = new Funcionario[5]).
funcionarios[0] = new Funcionario();
funcionários[1] = new Funcionario(); ...

- Demita alguns funcionários e bonifique outros.
- Exiba as informações apenas dos funcionários que ainda se encontram na empresa.

Solução:

public class Funcionario {
	int id;
	String nome;
	String cpf;
	double salario;
	String departamento;
	boolean estaNaEmpresa; 
	
	void bonifica(double aumento){
		salario += aumento;
	} // fim do método bonifica
	
	void demite(){
		estaNaEmpresa = false;
	} // fim do método demite
	
	void mostra(){
		System.out.println("O id"+ id);
		System.out.println("Seu nome e: "+ nome);
		System.out.println("Você recebe o valor de "+ salario);
		System.out.println("Seu departamento é: "+ departamento);
	}
} // fim da classe

Minha classe de teste.

public class Principal {

	public static void main(String[] args)
	{
		// Criando objeto funcionarios
		Funcionario func = new Funcionario();
		
		Funcionario[] funcionario = new Funcionario[5]; // Cria o vetor do tipo Funcionairo de 5 posições
		
		for(int i = 0; i < funcionario.length; i++){
			funcionario[i] = new Funcionario();  // instanciando dentro do for
			funcionario[i].id = 1 + (i+1);
			funcionario[i].nome = "Astésio José do Carmo Júnior";
			funcionario[i].cpf = " [CPF removido]" + (i+1);
			funcionario[i].salario = 850.00  + (i+1);
			funcionario[i].departamento = "Webmaster";
			funcionario[i].estaNaEmpresa = true;

				if(funcionario[i].estaNaEmpresa == true)
				{
					funcionario[i].mostra();
				}
			} // fim do método
			
				// Criando os metodos
				funcionario[0].bonifica(850.00);
				funcionario[1].demite();
				funcionario[2].demite();
				funcionario[3].demite();
				funcionario[4].bonifica(100.00);
				
	} // fim do método main
} // fim da classe Principal

2 Respostas

lina

Oi,

Parabéns! Ficou bem direitinho a sua resolução.

Se me permite, gostaria de fazer algumas observações.

    • Você não precisa comparar uma variável booleana primitiva, pois ela já possuí um valor e sempre será false ou true.

// Pode-se fazer assim if(funcionario[i].estaNaEmpresa) { funcionario[i].mostra(); }

    • Na classe principal (main class) você está chamando o método mostra() antes de bonificar e demitir um funcionário. Seria interessante chamar o mostra() após a execução dos métodos bonifica(double) e demite().

Tchauzin!

Astesio

Sim e verdade obrigado pela dica valeu mesmo. T++

Criado 28 de agosto de 2012
Ultima resposta 29 de ago. de 2012
Respostas 2
Participantes 2