olá pessoal, estou fazendo um projeto de gerenciamento de estoque e cotação, queria saber se tem alguma coisa que eu possa estar fazendo na parte de armazenar a fruta e retirar a fruta do estoque, já escrevi algumas frutas aí queria que funcionário escrevesse o nome da fruta que ele quer e o programa verificasse se a quantidade de frutas do estoque está baixo ou alto e que pudesse retirar o produto do estoque ou adicionar sem o uso de banco de dados se alguém souber algum jeito e puder passar o código feito ou mostrar alguma forma de fazer em Java agradeço.
Para armazenar as frutas você pode usar a classe ArrayList, que é basicamente um Array dinâmico e uma alternativa bem melhor do que usar um Array bruto, e usar os métodos que ela mesmo dispõe para adicionar e remover as frutas do estoque:
//esse <String> serve pra dizer que o tipo dessa ArrayList é String
ArrayList<String> frutas = new ArrayList<>(); //cria o ArrayList frutas
frutas.add("Melancia"); //adiciona uma nova fruta ao ArrayList
frutas.remove(0); //remove a fruta no indice 0 do ArrayList. como só tem a melancia, ele vai remover ela
o método remove recebe como parâmetro o índice do valor que você quer remover. Mas, e quando você não souber qual é esse índice? Pra isso, existe o método indexOf(), e você passa como argumento o valor qual você quer descobrir o índice. Esse método retorna -1 em caso do valor não existir e retorna a primeira ocorrencia em caso de o valor aparecer mais de uma vez no Array:
frutas.add("Melancia");
int indice_da_melancia = frutas.indexOf("Melancia");
frutas.remove(indice_da_melancia);
Ou, simplesmente:
frutas.add("Melancia");
frutas.remove(frutas.indexOf("Melancia"));
Essas são as formas mais simples, existem muitos tutoriais e documentação melhores na internet pra te explicar detalhadamente como funciona um ArrayList, talvez até aqui no forum.
Na verdade você pode remover o elemento diretamente, sem precisar do índice:
ArrayList<String> frutas = new ArrayList<>();
frutas.add("Abacaxi");
frutas.add("Melancia");
frutas.add("Pera");
frutas.remove("Melancia");
System.out.println(frutas); // [Abacaxi, Pera]
Um detalhe é que se tiver elementos repetidos, vai remover somente o primeiro:
ArrayList<String> frutas = new ArrayList<>();
frutas.add("Abacaxi");
frutas.add("Melancia");
frutas.add("Pera");
frutas.add("Melancia");
frutas.remove("Melancia"); // só remove a primeira Melancia
System.out.println(frutas); // [Abacaxi, Pera, Melancia]
muito obrigado!
vlw pela ajuda!
Olá mais uma duvida se não for incomodar é que sou novata, como faço pra usar esse método com o Scanner? não estou conseguindo.
Scanner scan = new Scanner(System.in);
ArrayList<String> lista = new ArrayList<>();
//coloca o input do usuário na variável fruta e depois adiciona ela na lista
String fruta = scan.next();
lista.add(fruta);
//faz a mesma coisa, só que é mais pratico
lista.add(scan.next());
obrigado!