Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Caio Cassimiro

Java Como implementar dados em um array?

Recommended Posts

Olá!

 

Então galera, to com uma dúvida estarrecedora em programação Java. Pra situar melhor, é importante dizer que meu conhecimento é ultra básico, entretanto, os exercícios propostos pela faculdade já estão em um nível que não consigo acompanhar. A situação é a seguinte: possuo uma classe Pessoa, a qual o usuário digita o nome, o endereço e o RG de uma pessoa. Após isso, há uma classe Funcionário, que, com extends em Pessoa, além desses dados, pede-se o salário e o cargo. No fim, imprime-se um "holerite" do funcionário, contendo os dados da classe Pessoa e Funcionario juntos, como um relatório. (Além disso, há uma classe TestaPessoa, que possui o main e o objeto Pessoa e Funcionario, com os metodos de imprimir e ler os dados de cada um). Agora, esse é o exercício final:

 

Uma Empresa contratou você para implementar uma folha de pagamento de seus 5 Funcionários. Nesta empresa deseja-se cadastrar um funcionário, imprimir seus dados pessoais, imprimir o holerite, além disso, deve haver a opção de imprimir um relatório com o holerite de todos 5 funcionários, com um subtotal no final do relatório que some todos os salários.

Obs: deve haver no minimo, três classes: Pessoa, Funcionário, Empresa. considere que a Empresa tem implementados os 5 funcionários em formato de array.

 

SOCORRO <3 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Caio Cassimiro Fala meu quirido, tudo bom?

Aqui, a moderação do forum não incentiva o ato de resolver uma questão ( principalmentes referentes a faculdades ) sem o autor da postagem, poste algum tipo de racíocinio ou construção.

Uma dica: Tente começar a implementar as classes e poste aqui pra gente ( lembre-se de utilizar a tag <code> na postagem do código ).

Duas dicas: Acredito que quando ele diz, que os os 5 funcionários estão em uma array, quer dizer que: existe uma variável array, do tipo Funcionário, algo tipo assim:

Funcionario[] meusFuncionarios = new Funcionario[5];

Que inicializa um array com tamanho 5, podendo ter dentro dele, 5 objetos da classe Funcionario.

Ai, utilize os loops for ou while, para percorrer e fazer as requisições solicitadas.

Espero ter ajudado!
Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites
3 horas atrás, Nicolas Porto Campana disse:

@Caio Cassimiro Fala meu quirido, tudo bom?

Aqui, a moderação do forum não incentiva o ato de resolver uma questão ( principalmentes referentes a faculdades ) sem o autor da postagem, poste algum tipo de racíocinio ou construção.

Uma dica: Tente começar a implementar as classes e poste aqui pra gente ( lembre-se de utilizar a tag <code> na postagem do código ).

Duas dicas: Acredito que quando ele diz, que os os 5 funcionários estão em uma array, quer dizer que: existe uma variável array, do tipo Funcionário, algo tipo assim:


Funcionario[] meusFuncionarios = new Funcionario[5];

Que inicializa um array com tamanho 5, podendo ter dentro dele, 5 objetos da classe Funcionario.

Ai, utilize os loops for ou while, para percorrer e fazer as requisições solicitadas.

Espero ter ajudado!
Abraço!

 

Eu entendo!

Aqui está o código que construí por enquanto:

 

CLASSE TESTAPESSOA (Main Method) 

import Modelo.Funcionario;
import Modelo.Pessoa;

public class TestaPessoa {
    public static void main(String[] args) {
        Pessoa pessoa = new Pessoa();
        pessoa.leiaDados();
        pessoa.imprimeDados();
        Funcionario funcionario = new Funcionario();
        funcionario.leiaDadosFuncionario();
        funcionario.imprimeDadosFuncionario();
    }
}


CLASSE PESSOA 
  
import java.io.InputStream;
import java.util.Scanner;

public class Pessoa {
    
    private String nome;
    private String endereco;
    private String rg;
    
    public void imprimeDados(){
        String mensagem = "--------------\n" + 
                          "DADOS PESSOAIS\n" +
                          "--------------\n" +
                          "Nome: " + this.nome +
                          "\nEndereço: " + this.endereco +
                          "\nRG: " + this.rg +
                          "\n--------------";
        System.out.println(mensagem);
    }
    
    public void leiaDados(){ 
        InputStream is = System.in;
        Scanner sc = new Scanner(is);
        System.out.print("Nome: ");
        this.nome = sc.nextLine();
        System.out.print("Endereço: ");
        this.endereco = sc.nextLine();
        System.out.print("RG: ");
        this.rg = sc.nextLine();
    }
    
}

CLASSE FUNCIONARIO
  
import java.io.InputStream;
import java.util.Scanner;

public class Funcionario extends Pessoa {
    
    private String cargo;
    private double salario;
    
    public void leiaDadosFuncionario() {
        this.leiaDados();
        InputStream is = System.in;
        Scanner sc = new Scanner(is);
        System.out.print("Cargo: ");
        this.cargo = sc.nextLine();
        System.out.print("Salário: ");
        this.salario = Double.parseDouble(sc.nextLine());
    }
    
    public void imprimeDadosFuncionario() {
        String mensagem = "==============" +
                          "\nHOLERITE";
        System.out.println(mensagem);
        this.imprimeDados();
        mensagem = "Cargo: " + this.cargo +
                   "\nSalário: " + this.salario +
                   "\n==============";
        System.out.println(mensagem);
    }
    
}

CLASSE EMPRESA (Holerites)
  
  
import java.io.InputStream;
import java.util.Scanner;

public class Empresa extends Funcionario{
   
    Funcionario n[] = new Funcionario [5];
    
    void repetirFuncionario(){
    for(int i = 0 ; i < 5 ; i++){
        n[i] = new Funcionario();
        
    }
    }
    
    void lerFuncionario(){
    for(int i = 0;  i <5; i++){
        n[i].leiaDadosFuncionario();
    }
    }
    
    public void imprimeDadosFuncionario(){
        
    }
}

A questão é: como inserir os funcionarios dentro desse array, juntando os métodos de ler e imprimir seus dados?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que ficaria mais bonito dentro da classe empresa você ter o método: 

inserirFuncionario(Funcionario f)

então instanciar e carregar os dados do funcionário na sua classe principal, onde estará a sua classe empresa

Empresa empresa = new Empresa()

o título do exercício dá a entender que  a aplicação deve ter um menu para executar as ações de inclusão de Funcionário e impressão de holerite avulso ou de todos os funcionarios.

Crie um mennu com as ações permitidas pelo programa:

Exemplo:

boolean executar = true;
while(executar){
	System.out.println("---------MENU--------")
	System.out.println("1 - Inserir Funcionario")
	System.out.println("2 - Imprimir holerite")
	System.out.println("3 - Imprimir todos")
	System.out.println("4 - sair")
	
	byte opcao = 0;
	//Capturar a opção digitada
	(...)

	switch(opcao){
		case 1:
		//Método que insere um funcionário;
		break;
		case 2:
			//Método que imprime um holerite;
		break;
		case 3:
			//Método que imprime todos;
		break;
		case 4:
			System.out.println("Fim da execucao");
			executar = false;
		break;
		default:
		break;
	}

}

 

 

Exemplo do conteúdo do método para inserir funcionário chamado no case:

Funcionario func = new Funcionario();
System.out.println("Insira os dados do funcionario ");
func.leiaFuncionario();
empresa.inserirFuncionario(func);    

Não esqueça de inserir uma regra para limitar o número de funcionários até 5.

Espero que ajude

Editado por Heuwald

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×