1
resposta

Comando Incompativeis

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Eu tentei digitar: "meuFilme.anoDeLancamento = "2016";"

e tava vermelho? eu escrevi certinho no intellij e do nada deu erro. O meu programa ficou maluco

1 resposta

Olá, Felipe! Tudo bem?

O problema no seu código está no tipo de dado que você está tentando atribuir ao atributo.

O que aconteceu?

No Java, os tipos de informações são muito importantes. Olhando para a imagem e para o erro que você descreveu, note que você escreveu o seguinte:

meuFilme.anoDeLancamento = "2016";

Perceba que o número 2016 está entre aspas duplas. No Java, qualquer coisa dentro de aspas duplas é considerada um texto (uma String).

Por que o erro ocorre?

Provavelmente, na sua classe Filme, você definiu o atributo anoDeLancamento como um número inteiro (int).

  • O que o Java espera: Um número inteiro (ex: 2016).
  • O que você enviou: Um texto (ex: "2016").

O Java é uma linguagem "fortemente tipada", o que significa que ele não aceita que você guarde um texto dentro de uma "caixinha" feita para números. É como tentar colocar uma peça quadrada em um buraco redondo.

Como resolver?

Para corrigir, basta remover as aspas. Assim, o Java entenderá que você está passando um valor numérico inteiro.

O jeito correto:

meuFilme.anoDeLancamento = 2016; // Sem aspas!
meuFilme.duracaoEmMinutos = 120; // Sem aspas também!

Resumindo:

  • Com aspas ("2016"): O Java entende como texto (String).
  • Sem aspas (2016): O Java entende como número inteiro (int).

Como o ano e a duração geralmente são usados para cálculos ou apenas armazenados como números na nossa classe, usamos o tipo int. As aspas devem ser usadas apenas no campo nome, pois o nome do filme é, de fato, um texto.

Tente fazer essa alteração no seu IntelliJ e veja se as linhas vermelhas desaparecem.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!