Tenho que fazer uma programação em java na qual o usuário cadastra uma peça e ela é armazenada no estoque, a partir desse cadastro deve ser feita a entrada e saída de peças.
Concatenei todos os valores da peça em uma variável do tipo String e usei o ArrayList.add pra criar meu estoque.
Mas preciso tratar separadamente a quantidade de peças que foram adicionadas e usar o nome pra fazer a busca.
Como faço pra adicionar por meios de vetores para que eu consiga manipular as variáveis separadamente?
Essa é a programação até agora:
package Projeto1;
import java.util.<em>;
import javax.swing.</em>;
import java.text.SimpleDateFormat;
public class Projeto {
public static void main(String[] args) {
String sData = "dd/MM/yyyy";
String sHora = "h:mm:ss - a";
String sData1, sHora1;
Date agora = new java.util.Date();
SimpleDateFormat sdfFormata = new SimpleDateFormat(sData);
sData1 = sdfFormata.format(agora);
sdfFormata = new SimpleDateFormat(sHora);
sHora1 = sdfFormata.format(agora);
boolean bResposta = true, bNome;
String sAux, sQtd = null, sNome = null, sLote = null, sCodigo = null, sDescricao = null;
int iQtd = 0, iQtdItens = 0, iI, iItens, Estoque = 0, iNav = 0;
ArrayList<String> aItens = new ArrayList<>();
do {
Object[] oMenu = {"Cadastrar uma nova peça", "Estoque", "Controle de saída de peças", "Conferir entrada e saida de peças", "Sair"};
Object menu1;
menu1 = JOptionPane.showInputDialog(null, "Bem vindo(a) a NtC-Peças. \n Selecione a opção desejada:", "Selecione a opção desejada: \n", JOptionPane.PLAIN_MESSAGE, null, oMenu, "não");
if (menu1.equals("Cadastrar uma nova peça")) {
try {
sNome = JOptionPane.showInputDialog(null, "Nome da peça: ", "Insira", JOptionPane.PLAIN_MESSAGE);
bNome = aItens.contains(sNome);
if (bNome == true) {
JOptionPane.showMessageDialog(null, "Essa peça já está cadastrada!", "ERRO!", JOptionPane.ERROR_MESSAGE);
}
try {
sCodigo = JOptionPane.showInputDialog(null, "Código(6 dígitos): ", "Insira", JOptionPane.PLAIN_MESSAGE);
while (sCodigo.length() != 6) {
JOptionPane.showMessageDialog(null, "Insira um código válido de 6 dígitos!\n Somente numeros!", "ERRO", JOptionPane.ERROR_MESSAGE);
sCodigo = JOptionPane.showInputDialog(null, "Insira o código do item que deseja cadastrar", "Cadastro de itens", JOptionPane.PLAIN_MESSAGE);
}
sLote = JOptionPane.showInputDialog(null, "Lote: ", "Insira", JOptionPane.PLAIN_MESSAGE);
while (sLote.length() > 3) {
JOptionPane.showMessageDialog(null, "Insira um lote válido de 3 ou menos dígitos!", "ERRO", JOptionPane.ERROR_MESSAGE);
sLote = JOptionPane.showInputDialog(null, "Código(6 dígitos): ", "Insira", JOptionPane.PLAIN_MESSAGE);
}
iQtd = Integer.parseInt(sAux = JOptionPane.showInputDialog(null, "Quantidade de " + sNome + "s: ", "Insira", JOptionPane.PLAIN_MESSAGE));
while (iQtd == 0) {
JOptionPane.showMessageDialog(null, "A quantidade não pode ser igual a 0", "ERRO", JOptionPane.ERROR_MESSAGE);
iQtd = Integer.parseInt(sAux = JOptionPane.showInputDialog(null, "Quantidade de" + sNome + "s: ", "Insira", JOptionPane.PLAIN_MESSAGE));
}
} catch (ArithmeticException erro) {
JOptionPane.showMessageDialog(null, "O valor não pode ser 0!", "ERRO", JOptionPane.ERROR_MESSAGE);
} catch (NumberFormatException erro) {
JOptionPane.showMessageDialog(null, "Insira apenas caracteres numéricos", "ERRO", JOptionPane.ERROR_MESSAGE);
}
sDescricao = JOptionPane.showInputDialog(null, "Descrição: ", "Insira", JOptionPane.PLAIN_MESSAGE);
} catch (NullPointerException erro) {
JOptionPane.showMessageDialog(null, "Certifique-se de que todos os campos estão preenchidos");
}
JOptionPane.showMessageDialog(null, "Cadastro realizado com sucesso!", "Cadatsro", JOptionPane.PLAIN_MESSAGE);
JOptionPane.showMessageDialog(null, "Nome: " + sNome
+ "\nLote: " + sLote
+ "\nCodigo: " + sCodigo
+ "\nQuantidade: " + iQtd
+ "\nDescrição: " + sDescricao
+ "\nData de cadastro: " + sData1
+ "\nHora de cadastro: " + sHora1, "Consulta de item", JOptionPane.PLAIN_MESSAGE);
String sItens = ("Nome: " + sNome
+ "\nLote: " + sLote
+ "\nCodigo: " + sCodigo
+ "\nQuantidade: " + iQtd
+ "\nDescrição: " + sDescricao
+ "\nData de cadastro: " + sData1
+ "\nHora de cadastro: " + sHora1);
aItens.add(sItens);
}
if (menu1.equals("Estoque")) {
for (iI = 0; iI <= aItens.size(); iI++) {
JOptionPane.showMessageDialog(null, "Estoque:\n" + aItens.get(iI), "Consulta do estoque", JOptionPane.PLAIN_MESSAGE);
}
}
if (menu1.equals("Controle de saída de peças")) {
String sPeça = JOptionPane.showInputDialog(null, "Nome da peça que deseja tirar: ", "Insira", JOptionPane.PLAIN_MESSAGE);
aItens.indexOf(sPeça);
int iTPeça1, iTPeça;
iTPeça = Integer.parseInt(JOptionPane.showInputDialog(null, "Quantidade que quer retirar: ", "Insira", JOptionPane.PLAIN_MESSAGE));
iTPeça1 = iQtd - iTPeça;
JOptionPane.showMessageDialog(null, "Quantidade de peças atual: " + iTPeça1, "Resultado", JOptionPane.PLAIN_MESSAGE);
}
if (menu1.equals("Conferir entrada e saida de peças")) {
}
if (menu1.equals("Sair")) {
System.exit(0);
}
} while (bResposta == true);
}
}