Bom dia, estou desenvolvendo um sistema bem simples de estoque onde os itens serao armazenados em uma matriz segue codigo:
package main;
import java.io.Console;
import java.util.Arrays;
import java.util.Scanner;
public class IncluirItem{
public static void main(String[] args) {
String[][] itens = new String[2][5];
String[] campos = new String[7];
int opcao = 0;
int remover;
int verificar = 0;
int adcionar = 0;
int tamanho = 2;
Scanner sc = new Scanner(System.in);
campos [1] = "Nome";
campos [2] = "Codigo de barras";
campos [3] = "quantidade";
campos [4] = "validade";
campos [5] = "data de entrada";
do {
System.out.println("\n\n### Sistema de estoque - simplificado ###");
System.out.println("=========================================");
System.out.println(" | 1 - Adcionar itens |");
System.out.println(" | 2 - Excluir itens |");
System.out.println(" | 3 - Mostrar itens |");
System.out.println(" | 0 - Sair |");
System.out.println("=========================================\n");
System.out.println("Escolha uma opcao: ");
opcao = sc.nextInt();
System.out.print("\n");
switch (opcao) {
case 1:
System.out.println("Cadastro de itens: ");
//Adciona itens
for (int i = 0; i <2; i++) {
System.out.println("Adcionar item? ");
System.out.println("1 para sim \n2 para nao: ");
adcionar = sc.nextInt();
if (adcionar == 1) {
System.out.printf("%d. item \n", (i+1));
verificar = verificar + 1;
for (int j=0; j < 5; j++) {
System.out.printf("%s ", campos[j+1]);
System.out.printf("= ", i,(j+1));
itens[i][j] = sc.next();
}
System.out.printf("\n");
}
else {
break;
}
}
break;
case 2:
//Remove itens
System.out.println("Exclusao de itens: ");
if(verificar > 0) {
for (int i = 0; i <2; i++) {
System.out.printf("%d. item \n", (i+1));
System.out.printf("ID do produto= 00%d \n", (i+1));
System.out.printf("\n");
}
}
else {
System.out.println("Nenhum item listado!");
}
System.out.println("\nEscolha o numero do item a ser removido: \n");
remover = sc.nextInt();
for (int i = 0; i <2; i++) {
if(remover == 2) {
itens[i] = itens[i-1];
}
}
break;
case 3:
//Mostra itens
if(verificar > 0) {
for (int i = 0; i <2; i++) {
if (verificar == 2) {
System.out.printf("%d. item \n", (i+1));
System.out.printf("ID do produto= 00%d \n", (i+1));
for (int j=0; j < 5; j++) {
System.out.printf("%s ", campos[j+1]);
System.out.printf("= %s \n", itens [i][j]);
}
System.out.printf("\n");
}
else {
itens = Arrays.copyOf(itens, tamanho - 1);
verificar = 0;
System.out.printf("%d. item \n", (i+1));
System.out.printf("ID do produto= 00%d \n", (i+1));
for (int j=0; j < 5; j++) {
System.out.printf("%s ", campos[j+1]);
System.out.printf("= %s \n", itens [i][j]);
}
System.out.printf("\n");
break;
}
}
}
else {
System.out.println("Nenhum item listado!");
}
break;
default:
System.out.println("Opção Inválida!");
break;
}
} while(opcao != 0);
}
}
Minha duvida é a seguinte, eu quero excluir uma posicao da matriz, exemplo: registrei dois itens, na coluna um e coluna dois da matriz e gostaria de remover a coluna um da lista, como realizo essa função, e outra coisa, eu gostaria de quando eu inserisse pela segunda vez algum item a matriz começasse na proxima possicao vazia, atualmente se eu pedir para inserir um novo item a matriz começa da primeira posicao e assim apaga os elementos ja inseridos.