Com ocriar metodo remover e alterar com array list?
5 respostas
G
Gustavo_Lilge
Cadastro De Produtos: Bomboniere XYZ
packagecadastrarprodutos;importjava.util.ArrayList;publicclassProdutos{Stringdados;ArrayList<Itens>Produtos=newArrayList<Itens>();ItensnovoProduto;publicProdutos(){this.dados="";//construtor de dados}
Método para cadastrar os produtos
publicvoidcadastrarProdutos(intcodigo,Stringdescricao,doublepreco,Stringdata){novoProduto=newItens();novoProduto.setCodigo(codigo);novoProduto.setDescricao(descricao);novoProduto.setPreco(preco);novoProduto.setData(data);Produtos.add(novoProduto);//adiciona na posição do arraylistSystem.out.println("Produto cadastrado com sucesso.");novoProduto.setCodigo(codigo);}
Fim do metodo para cadastrar os produtos método para mostrar os produtos:
publicStringmostrarProdutos(){CadastrarProdutosop=newCadastrarProdutos();for(Itensprodutos:Produtos){System.out.println(" Código do produto: "+produtos.getCodigo());System.out.println(" Descrição do produto: "+produtos.getDescricao());System.out.println(" Preço do produto: R$: "+produtos.getPreco());System.out.println(" Data de Cadastro do Produto:"+produtos.getData());}returndados;}}
Esse é minha classe produtos com metodos cadastrar e mostrar, alguem sabe como fazer o remover e alterar?
intmenu=0;Produtosp1=newProdutos();do{System.out.println(" <strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><em>");System.out.println("|Sistema De Cadastro De Produtos: |");System.out.println("|Qual item deseja escolher? |");System.out.println("|1 - Cadastrar Produtos |");System.out.println("|2 - Exibir Produtos |");System.out.println("|3 - Sair |");System.out.println("|</em></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong>|");menu=teclado.nextInt();
if(menu==1){System.out.print("| Digite o código do produto: |");Stringcodigo=teclado.next();System.out.print(" |Digite o nome do produto: |");Stringdescricao=teclado.next();System.out.print(" |Digite o preço do produto: |");doublepreco=teclado.nextDouble();System.out.print("Data de Cadastro:");Stringdata=teclado.next();// chamando o metodop1.cadastrarProdutos(codigo,descricao,preco,data);}elseif(menu==2){// chamando o metodo mostrar ProdutosSystem.out.println(" ___________________________________");System.out.println("Lista do(s) produto(s) cadastrado(s):");p1.mostrarProdutos();System.out.println("___________________________________");}elseif(menu==3){System.exit(0);}if((menu<=3)&&(menu>=1)){}else{System.out.println("Por favor escolha uma opção correta \n entre 1 e 3!");}}while(menu!=0);
System.exit(0);
}
}
Jonas_B_a_r_r_o_s
Ficaria mais ou menos assim o remover.
No menu de opção da sua classe de teste, na opção de remover você passa o codigo para o metodo remover
elseif(menu==3){
System.out,print("Informe o codigo do produto a remover");intcodigo=teclado.nextInt();Produtos.remover(codigo);
}
Então o metodo remover é executado com o codigo passado
publicstaticvoidalterar(intcodigo){ArrayList<Produtos>alter=lista;//Aqui ele tem que receber a lista de produtos, para encontrar o codigo, você pode declarar essa ArrayLista como staticArrayList<Integer>codigos=newArrayList<>();//Onde irá receber a lista de codigos, vindo da lista acimafor(Produtolist:alter){codigos.add(list.getCodigo());}if(codigos.indexOf(codigo)>-1){Produtoproduto=newProduto();produto.setCodigo(codigo);produto.setDesc("Nova descricao");}}
Não testei, fiz so um exemplo de como pode ser
Lembrando que codigo é bom vc declarar como int
Ops, na verdade esse metodo é para alterar
G
Gustavo_Lilge
nao funcionou pq ele n apaga todas os dados daquele produto.