7
respostas

ERRRO: unclosed string literal

Estou tendo dificuldade na hora de executar o código. Tive problemas anteriormente com a versão do sdk mas achei que tinha resolvido.

Agora apresenta novo erro: unclosed string literal

Já tentei algumas mudanças nas configurações de SDK mas não tive sucesso.

Se alguém tiver alguma dica agradeço.

Abaixo apresento algumas telas:

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

7 respostas

Olá! O erro "unclosed string literal" está acontecendo porque você escreveu um texto como se fosse uma string, mas não colocou ele entre aspas.

public class Main {
    public static void main(String[] args) {
        System.out.println("Filme Top Gun");
        System.out.println("Filme de aventura dos anos 80");
        System.out.println("Muito Bom!");
        System.out.println("Ano de Lançamento: 1986");
    }
}

Ou assim

public class Main {
    public static void main(String[] args) {
        String sinopse = "Filme Top Gun\n"
                       + "Filme de aventura dos anos 80\n"
                       + "Muito Bom!\n"
                       + "Ano de Lançamento: "
                       + 1986; 

        System.out.println(sinopse);
    }
}

Eu tentei usando o recurso do text blocks.....

Oi Márcio, Tudo bem?

Vejo que você está tentando usar Text Blocks, um recurso interessante do JDK 13+, que permite representar strings multilinhas. O erro que foi apresentado é porque você esqueceu de iniciar o bloco com aspas ("""). Outro ponto é que as variáveis anoLançamento e sinopse não foram declaradas.

Sugestão de código:

public class Main {
    public static void main(String[] args) {
        int anoDeLancamento = 1986;
        String sinopse = """
                Filme Top Gun
                Filme de aventura dos anos 80
                Muito bom!
                Ano de Lançamento
                """ + anoDeLancamento;
        System.out.println(sinopse);
    }
}

Espero ter ajudado e bons estudos!

A primeira captura de tela com os códigos não estava aparecendo completa.

Pelo que percebi digitei a mesma codificação que a Jacqueline (Alura).

Insira aqui a descrição dessa imagem para ajudar na acessibilidade As 3 aspas foram digitadas e as variáveis anoDeLancamento e sinopse estão declaradas...

Vejo no print que você já tentou resolver o problema nas configurações do projeto, e mesmo assim não obteve sucesso.

Uma abordagem mais radical, mas que pode resolver conflitos, seria:

  1. Desinstale todos os JDKs que você tem instalados no seu computador. você possui três. Removê-los completamente garante que não haverá interferência entre versões.

  2. Após a desinstalação, é crucial reiniciar o seu computador. Isso garante que todos os arquivos temporários e processos relacionados aos JDKs sejam encerrados.

  3. Depois de reiniciar, instale novamente apenas um JDK. Escolha a versão que você precisa para o seu projeto atual. Recomendo baixar a versão LTS mais recente do JDK da Oracle.

  4. Por fim, configure as variáveis de ambiente do seu sistema operacional para apontar para a instalação desse único JDK. As variáveis JAVA_HOME e a inclusão do diretório bin do JDK na variável PATH são essenciais para que o sistema e o IntelliJ IDEA reconheçam a instalação do Java.

Essa abordagem garante um ambiente limpo com apenas um JDK configurado, o que pode eliminar conflitos e resolver o erro de configuração no seu projeto.

Oi Márcio, tudo bem?

repare que aparece uma opção "Setup SDK" no canto superior direito da sua tela. Provavelmente a IDE não está reconhecendo a versão do Java. Clique nessa opção e tente escolher a versão 17 ou 21 se tiver disponível e veja se os erros irão desaparecer.

Em caso de dúvidas, estamos à disposição.

Oi Jaqueline. Sim. Acabei optando pela versão 17 e os erros desapareceram. Obrigado.