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
  • Autor do tópico
  • 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

    ×