Problema com vetor

4 respostas
CristianPalmaSola10

Estou fazendo um exercicio onde eu tenho q desenvolver um classe funcionario, onde é armazenado o nome, numero de dependentes e as horas trabalhadas no mes, tenho que criar metodos construtores diferenciados, os atributos tem q ser privatos e tenho q implementar metodos publicos para consultar e ajustar os atributos, que na realidade seriam os metodos get e set, criar um metodo de calcula de salario bruto e liquido. O problema vem agora fazer um programa que solicite os dados de todos os funcionarios de um empresa e armazene-os num vetor e depois imprima o nome salario bruto e liquido e o valor descontado, mas como posso guardar as informações num vetor se naum sei quantos funcionarios a empressa possui e pedir o numero de funcionarios antes de os dados serem inseridos seria o logico neste caso mas naum o certo
preciso de ajuda como criar um vetor se naum sei quantas linhas no vetor vou precisar?
Agradeço deste ja pela ajuda!Obrigado!
:smiley:

4 Respostas

gRoOve

Pesquise sobre o framework Collections, neste teu caso acho que usará a classe ArrayList, ela dá mobilidade ao seu array, podendo crescer/diminuir em tempo de execução.

manolimars

acredito que o melhor seria o ArrayList mesmo, é super prático de usar

segue um exemplo de uso

public class Funcionario
{
      String nome;

      public Funcionario(String nome)
      {
             this.nome = nome;
      }

      public String getNome()
      {
             return this.nome;
      }
}
//Instancia um Array de Funcionários
ArrayList<Funcionario> lista = new ArrayList<Funcionario>();

//Adiciona um funcionario na lista
lista.add(new Funcionario("João"));
lista.add(new Funcionario("Cléber"));
lista.add(new Funcionario("Maria"));


//para pegar o funcionario cadastrado no indice 2 use
System.out.println(lista.get(2).getNome());

//para saber o numero de funcionarios no array use
lista.size();

//para listar todos os funcionarios do array

for(int x=0; x<lista.size(); x++)
System.out.println(lista.get(x).getNome());

Espero que ajude

CristianPalmaSola10

Esta ajudando sim

mas eu gostaria de algumas informações sobre o vector

o q ele é?

e algumas informações addicionais

obrigado

CristianPalmaSola10
public class Main {

    public Funcoes f;
    public Funcionarios fc;
    public Calculos c;
    public Vector vec;

    public Main() {
        f = new Funcoes();
        fc = new Funcionarios();
        c = new Calculos();
        vec = new Vector();
    }

    public static void main(String[] args) {
        Main m = new Main();
        m.pegaDados();
    }

    public void pegaDados() {
        Main m = new Main();
        String msg = "";
        int cont = 0;
        while (cont == 0) {
            String nome = f.leiaString("Informe o nome!");
            int d = -6;
            while (d < 0) {
                d = f.leiaInteiro("Informe o numero de dependentes!");
            }
            double horas = -8;
            while (horas <= 0) {
                horas = f.leiaDouble("Informe a quantia de horas trabalhadas");
            }
            fc = new Funcionarios(nome, d, horas);
            fc.setNome(nome);
            fc.setHorasTrabalhadas(horas);
            fc.setNumeroDependentes(d);
            m.alimentaVec();
            cont = f.confirm("Deseja inserir mais alguma informação?");
        }
        m.exibeDados();
    }

    public void alimentaVec(){
        double salarioB = c.calculaSalarioBruto();
        double salarioL = c.salarioLiquido(salarioB);
        double dif = c.calculaDiferenca(salarioB, salarioL);
        vec.add(fc.getNome() + " " + salarioB + " " + salarioL + " " +dif);
    }
    public void exibeDados(){
        String msg = "";
        for(int i = 0; i < vec.size(); i++){
            msg += vec.elementAt(i);
        }
        f.exiba(msg);
    }

porque naum exibe as informaçoes?

Criado 12 de março de 2011
Ultima resposta 12 de mar. de 2011
Respostas 4
Participantes 3