Problemas para criar um metodo

.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