.public void alteraFilme(){
Filme filme = new Filme();
System.out.println("|.::::::: ALTERAR FILME :::::::.|");
System.out.println("CODIGO DO FILME QUE DESEJA ALTERAR : ");
filme.setCodigoFilme(entrada.nextLine());
System.out.println("NOME : ");
filme.setNomeFilme(entrada.nextLine());
System.out.println("GÊNERO : ");
filme.setGeneroFilme(entrada.nextLine());
System.out.println("DURAÇÃO EM MINUTOS : ");
filme.setTempoDuracao(entrada.nextLine());
System.out.println("DATA LANÇAMENTO: ");
filme.setDataFilme(entrada.nextLine());
System.out.println("QUANTIDADE : ");
filme.qtdFilme = Integer.parseInt(entrada.nextLine());
System.out.println("PREÇO DO FILME : ");
filme.precoFilme = Double.parseDouble(entrada.nextLine());
System.out.println("");
listaFilme.add(filme);
seria mais fácil de entender o erro se você mostrasse o erro que o compilador retorna
Quando eu uso esse metodo que criei o (alterarfilmes) ele pede todos os dados certinhos, mas quando eu pesquiso por esse filme que alterei ele me mostra o filme que ja estava salvo e mais o filme que acabei de “alterar”, eu simplesmente quero apagar o que eu tinha e por um novo utilizando o mesmo codigo!
Entendi…
Você usa o método remove() e depois você insere o novo item.
listaFilme.remove(filmeMostradoNaTela);
listaFilme.add(filmeAlterado);
Isso ajuda?
Você vai precisar pegar o item na lista que deseja alterar, e depois removê-lo se assim precisar, pois o usuário pode pedir pra alterar mais salva o item na lista com o mesmo estado.
Bom @Fernada_oliveira,
Eu não fui muito claro, mas vamos lá…
Você está utilizando um ArrayList, você pode percorrer esse ArrayList com um for each:
public class Main {
private static List<Filme> lista = new ArrayList<Filme>();
public static void main(String[] args) {
Filme filme1 = new Filme("Steve Jobs", "456854", 100.85);
Filme filme2 = new Filme("BRIDE", "5DE558CC", 50.80);
lista.add(filme1);
lista.add(filme2);
String codigoInformado = "5DE558CC";
for (Filme filme : lista) {
if (codigoInformado == filme.getCodigo()) {
lista.remove(filme);
}
}
Filme alterado = new Filme("BRIDE", "5DE558CC", 100.00);
lista.add(alterado);
}
}
1 curtida