1
resposta

Erro ao criar construtor

Na parte "Trabalhando com objetos" do material escrito tem o passo a passo para criar o código dos carros. Eu estou usando o netbeans e criei um projeto que está assim:

public class AlgoritmosAlura {

    public static void main(String[] args) {
        Produto produtos[] = new Produto[5];
        produtos[0] = new Produto("Lamborghini", 1000000);
    }
}

E depois criei uma class "Produto" e coloquei o código:

public class Produto {
    private String nome;
    private double preco;
}

criando o construtor com o alt+enterPorém quando eu tento gerar o construtor no alt+enter ele cria o construtor com o seguinte erro:

    Produto(String lamborghini, int i) {
        throw new UnsupportedOperationException("Not supported yet."); // Generated from nbfs://nbhost/SystemFileSystem/Templates/Classes/Code/GeneratedMethodBody
    }
1 resposta

Olá Alexandre, tudo bem?

Esse erro ocorre porque o construtor gerado automaticamente pelo NetBeans está lançando uma exceção "UnsupportedOperationException". Isso acontece porque o NetBeans não sabe como construir o corpo do construtor automaticamente, então ele gera esse código padrão para você preencher.

Para corrigir esse erro, você precisa substituir o corpo do construtor gerado pelo NetBeans com o código que você deseja executar no construtor. No seu caso, você pode adicionar os parâmetros "nome" e "preco" ao construtor e atribuí-los aos respectivos atributos da classe. O código ficaria assim:

public class Produto {
    private String nome;
    private double preco;

    public Produto(String nome, double preco) {
        this.nome = nome;
        this.preco = preco;
    }
}

Dessa forma, você está criando um construtor que recebe os parâmetros "nome" e "preco" e atribui esses valores aos atributos correspondentes da classe.

Espero ter ajudado! Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software