Oi, eu to quebrando minha cabeça tentando entender como faz isso…
Tem uma classe chamada Colaborador que tem seus atributos e tals, e tem uma ArrayList pra guardar cada Colaborador, pra adicionar um novo Colaborador tem a classe AddColaborador que vai perguntar os dados e lançar os dados para a ArrayList da classe Colaborador. Só que eu não estou conseguindo fazer isso ;-; alguém me ajuda?
Aparentemente falta você estudar/entender como e quando utilizar static adequadamente.
Também procure utilizar nomes legíveis para seus atributos e métodos.
Em princípio essa classe AddColaborador nem precisaria existir, já que a própria classe Colaborador possui métodos para adicionar o colaborador à lista, de qualquer forma, eu mantive a classe, não sei se foi requisito de seu professor.
Dei uma refatorada no seu código, veja:
Classe Colaborador:
package teste;
import java.util.ArrayList;
import java.util.List;
public class Colaborador {
private static List<Colaborador> colaboradores = new ArrayList<Colaborador>();
public static String listar() {
StringBuilder texto = new StringBuilder();
for (int i = 0; i < colaboradores.size(); i++) {
Colaborador colaborador = colaboradores.get(i);
if (i > 0) {
texto.append("; ");
}
texto.append("Nome: " + colaborador.getNome());
texto.append(", ");
texto.append("Idade: " + colaborador.getIdade());
}
return texto.toString();
}
private int idade;
private String nome;
public Colaborador() {}
public Colaborador(int idade, String nome) {
this.idade = idade;
this.nome = nome;
}
public int getIdade() {
return idade;
}
public String getNome() {
return nome;
}
public void salvar() {
colaboradores.add(this);
}
public void setIdade(int idade) {
this.idade = idade;
}
public void setNome(String nome) {
this.nome = nome;
}
}
Classe AddColaborador:
package teste;
import javax.swing.JOptionPane;
public class AddColaborador {
public void adicionar() {
String nome = JOptionPane.showInputDialog("Qual seu nome?");
int idade = Integer.parseInt(JOptionPane.showInputDialog("Qual sua idade?"));
Colaborador colaborador = new Colaborador(idade,nome);
colaborador.salvar();
}
}
Classe Main:
package teste;
public class Main {
public static void main(String[] args) {
AddColaborador adicionador = new AddColaborador();
adicionador.adicionar();
System.out.println("Colaboradores: " + Colaborador.listar());
}
}
Oi moço, eu consegui fazer do jeito que eu queria, obrigado! O que eu estava fazendo é um JFrame que vai pedir as informações do usuário e vou guardar dentro da classe Colaborador para fazer um relatório em um JDialog, esse projeto que eu abri foi só pra tentar entender mesmo como faz, e consegui, muito obrigado ^^