Olá!
Por sugestão do Andre Rosa, estou criando esse tópico para minha dúvida. Pesquisei um pouco antes, mas não consigo localizar o erro.
Alguém pode me dizer qual o erro em meu código?
Ele mantém apenas o último dado capturado. Por exemplo , mesmo cadastrando 10 medicamentos, apenas o último é apresentado 10 vezes.
import java.util.ArrayList;
import javax.swing.JOptionPane;
public class Estoque {
public ArrayList<Medicamento> farmacia = new ArrayList<Medicamento>();//arraylist para armazenamento
Medicamento med = new Medicamento();// criei um novo objeto para manipular a classe medicamento
public void cadastrar() {//método para cadastrar vários medicamentos
String resp = new String();//criando variável para reter a opção do usuário
do {
med.setNome (JOptionPane.showInputDialog("Nome do Medicamento: "));// captura nome
med.setLaboratorio (JOptionPane.showInputDialog("Nome do Laboratorio: "));// captura laboratorio
med.setPrincipio (JOptionPane.showInputDialog("Nome do Principio Ativo: "));// captura principio
med.setValidade(JOptionPane.showInputDialog("Data de Validade: "));// captura validade
farmacia.add(med);
resp = JOptionPane.showInputDialog("Continua cadastrando [S/N]? ");// captura a resposta do usuario e armazena
}
while (resp.equalsIgnoreCase("S"));// enquanto for igual sim, repete a instrução dentro do laço do
if (resp.equalsIgnoreCase("N")){
this.menu();
}
}
Acredito que é algum erro simples, mas eu realmente não o localizo. Comecei há pouco tempo (em Java, em Programação de qualquer tipo e aqui no GUJ) e agradeceria se alguém me ajudasse, obrigada.