Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro ao criar objeto - Artigo Alura Java no VS Code

Boa noite

Estou seguindo o artigo da Alura sobre Java no VSCode https://www.alura.com.br/artigos/desenvolvendo-aplicacoes-java-vs-code mas quando vou criar o objeto no App.java ocorre Syntax error code ":" ; as variaveis titulo e nome cannot be resolved e por fim BACKEND cannot be resolved or is not a field.

Certifiquei de instalar tudo o que o artigo pediu e também testei no Eclipse e acontece a mesma falha, sou novo ainda no Java e comecei por esse artigo pra participar da Imersão desse mês. segue o codigo:

import java.time.LocalDate;

public class Artigo {
    private String titulo;
    private Autor autor;
    private LocalDate dataPublicacao;
    private Categoria categoria;

    public Artigo(String titulo, Autor autor, LocalDate dataPublicacao, Categoria categoria) {
        this.titulo = titulo;
        this.autor = autor;
        this.dataPublicacao = dataPublicacao;
        this.categoria = categoria;

    }       

    @Override
    public String toString() {
        return "Artigo [autor=" + autor + ", categoria=" + categoria + ", dataPublicacao=" + dataPublicacao
                + ", titulo=" + titulo + "]";
    }

    public String getTitulo() {
        return titulo;
    }
    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }
    public Autor getAutor() {
        return autor;
    }
    public void setAutor(Autor autor) {
        this.autor = autor;
    }
    public LocalDate getDataPublicacao() {
        return dataPublicacao;
    }
    public void setDataPublicacao(LocalDate dataPublicacao) {
        this.dataPublicacao = dataPublicacao;
    }
    public Categoria getCategoria() {
        return categoria;
    }
    public void setCategoria(Categoria categoria) {
        this.categoria = categoria;
    }    
}

Main :


import java.time.LocalDate;

public class App {
    public static void main(String[] args) throws Exception {
     var artigo = new Artigo(titulo: "VS Code", new Autor(nome:"Jac"), LocalDate.of(2022, 07, 13), Categoria.BACKEND);
     System.out.println(artigo);   
    }                              
}
2 respostas
solução!

Ola,

O problema está na forma como você está passando os parametros, não precisas passar "titulo:" e nem "nome:", apenas passe o conteudo como exemplo abaixo::

var artigo = new Artigo(titulo: "VS Code", new Autor(nome:"Jac"), LocalDate.of(2022, 07, 13), Categoria.BACKEND);

Tente isso:

var artigo = new Artigo("VS Code", new Autor("Jac"), LocalDate.of(2022, 07, 13), Categoria.BACKEND);

Muito obrigado Flávio! Eu estava levando o codigo apresentado ao pé da letra mas agora percebi o conceito de popular os construtores e seus parâmetros. Valeu!