[quote=raci0nal]Faça um método que retorne a quantidade de caracteres diferentes no nome dos filmes, como esse:
[code]private static int getQtdeCaracteresDiferentes(String nomeFilme) {
String textoFinal = “”;
nomeFilme = nomeFilme.toLowerCase();
for (char letra : nomeFilme.toCharArray()) {
if ((!String.valueOf(letra).trim().isEmpty()) && (!textoFinal.contains(String.valueOf(letra)))) {
textoFinal += letra;
}
}
return textoFinal.length();
}[/code]
Com isso, basta você percorrer o ArrayList e guardando quando o nome de um filme contiver mais letras diferentes. Tipo assim:
String filmeMaior = "";
for (String filme : filmes) {
if (getQtdeCaracteresDiferentes(filme) > getQtdeCaracteresDiferentes(filmeMaior)) {
filmeMaior = filme;
}
}
System.out.println(filmeMaior);
[/quote]
Boa tarde,
Acabei implementando a dica acima do raci0nal (que ta funcionando ok), pois foi a que entendi um pouco melhor e como terei que apresentar para a profª, tenho que saber o que o código faz e saber explicar o funcionamento… Bem só me falta tirar umas dúvidas simples, aí vai:
1 - Pra que passar todo nome do filme pra minúsculo(toLowerCase())? Eu testei sem e retornou a mesma coisa, realmente precisa, se sim pra que?
2 - Este for abaixo, não sei se estou certo, mas entendi que transformo o nome do filme em charArray e depois no if ja não entendi muito bem o que faz…sei que isEmpty() retorna true se o array for vazio…o trim() se não me engano retorna uma cópia da string sem espaços em branco, mas a lógica “do todo” não entendi bem, e se for questionado não saberei explicar.
for (char letra : nomeFilme.toCharArray()) {
if ((!String.valueOf(letra).trim().isEmpty()) && (!textoFinal.contains(String.valueOf(letra)))) {
textoFinal += letra;
}
Se alguém puder me auxiliar agradeceria, pois estou buscando aprender e não somente pegar as dicas, copiar e se compilar ta bom… 
Grato,