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!
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.
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
Esta ajudando sim
mas eu gostaria de algumas informações sobre o vector
o q ele é?
e algumas informações addicionais
obrigado
[code]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);
}[/code]
porque naum exibe as informaçoes?