An error occurred at line: [20] in the jsp file: [/jsp/Compras/validaRelacaoCompras.jsp] The constructor Compras(double, int, int, String, String, String, String) is undefined

Pessoal boa tarde estou fazendo esse projeto em Java e esta dando esse erro, alguém sabe como resolver isso ?

An error occurred at line: [20] in the jsp file: [/jsp/Compras/validaRelacaoCompras.jsp]
The constructor Compras(double, int, int, String, String, String, String) is undefined
17:     int id_livros = Integer.parseInt(request.getParameter("ID_LIVROS"));
18:     double valor_total = Double.parseDouble(request.getParameter("VALORTOTAL"));
19:     String obs = request.getParameter("OBS");
20:     Compras comp = new Compras(valor_total,id_livros,id_clientes,"","","",obs);
21:     ControllerCompras compcont = new ControllerCompras();
22:     comp = compcont.inserir(comp);
23: // REDIRECIONA PARA A PAG LOGIN.JSP
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="projetolivraria.models.beans.Compras"%>
<%@page import="projetolivraria.controllers.ControllerCompras"%>
<%@page import="projetolivraria.models.beans.Livros"%>
<%@page import="projetolivraria.controllers.ControllerLivros"%>
<%@page import="projetolivraria.models.beans.Clientes"%>
<%@page import="projetolivraria.controllers.ControllerClientes"%>

<%
    int id_clientes = Integer.parseInt(request.getParameter("ID_CLIENTES"));
    int id_livros = Integer.parseInt(request.getParameter("ID_LIVROS"));
    double valor_total = Double.parseDouble(request.getParameter("VALORTOTAL"));
    String obs = request.getParameter("OBS");
    Compras comp = new Compras(valor_total,id_livros,id_clientes,"","","",obs);
    ControllerCompras compcont = new ControllerCompras();
    comp = compcont.inserir(comp);
// REDIRECIONA PARA A PAG LOGIN.JSP
    String url = "inserirRelacaoCompras.jsp";
    response.sendRedirect(url);

%>

outras classes

package projetolivraria.controllers;

import java.util.List;
import java.sql.SQLException;
import projetolivraria.models.beans.Compras;
import projetolivraria.models.daos.DaoCompras;



public class ControllerCompras {
    DaoCompras daocomp;
   

    

    public Compras excluir(Compras compEnt) throws SQLException, ClassNotFoundException {
        daocomp = new DaoCompras();
        
       return daocomp.excluir(compEnt);
    }

    public Compras alterar(Compras compEnt) throws SQLException, ClassNotFoundException {
        daocomp = new DaoCompras();
        Compras comp = null;
        return daocomp.alterar(comp);
    }
    
    public List<Compras> listar(Compras comp) throws SQLException, ClassNotFoundException, Exception {
        daocomp = new DaoCompras();
        List<Compras> compras = daocomp.listar(comp);
        
        if(compras == null) {
            throw new Exception("Não tem compras cadastrados!");
        }
        return compras;  
    }

    public Compras buscar(Compras comp) throws SQLException, ClassNotFoundException {
        daocomp = new DaoCompras();
        comp = daocomp.buscar(comp);
        return daocomp.buscar(comp);
    }

    public Compras inserir(Compras comp) throws SQLException, ClassNotFoundException {
        daocomp = new DaoCompras();
        return daocomp.inserir(comp);
    }

}


package projetolivraria.models.beans;

public class Compras {

    private int id;
    private double valor_total;
    private int id_livros;
    private int id_clientes;
    private String dtini;
    private String dtfim;
    private String observacao;
    private Usuario usu;
    private Livros liv;
    
    public Compras(double valor_total, int id, int id_clientes, String dtini, String dtfim, String obs) {
        this.id = id;
    }
 public Compras(String observacao) {
        this.observacao = observacao;}
 
    public Compras(int id, double valor_total, int id_livros, int id_clientes, int idUsuario, String dtini, String dtfim, String observacao) {
        this.id = id;
        this.valor_total = valor_total;
        this.id_livros = id_livros;
        this.id_clientes = id_clientes;
        this.dtini = dtini;
        this.dtfim = dtfim;
        this.observacao = observacao;
    }

    public Compras(int id, double valor_total, int id_livros, int id_clientes, String dtini, String dtfim, String observacao) {
        this.id = id;
        this.valor_total = valor_total;
        this.id_livros = id_livros;
        this.id_clientes = id_clientes;
        this.dtini = dtini;
        this.dtfim = dtfim;
        this.observacao = observacao;
    }


    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public double getValor_total() {
        return valor_total;
    }

    public void setValor_total(double valor_total) {
        this.valor_total = valor_total;
    }

    public int getId_livros() {
        return id_livros;
    }

    public void setId_livros(int id_livros) {
        this.id_livros = id_livros;
    }

    public int getId_clientes() {
        return id_clientes;
    }

    public void setId_clientes(int id_clientes) {
        this.id_clientes = id_clientes;
    

   
   }
        public String getDtini() {
        return dtini;
    }

    public void setDtini(String dtini) {
        this.dtini = dtini;
    }

    public String getDtfim() {
        return dtfim;
    }

    public void setDtfim(String dtfim) {
        this.dtfim = dtfim;
    }

    public String getObservacao() {
        return observacao;
    }

    public void setObservacao(String observacao) {
        this.observacao = observacao;
    }

    public Usuario getUsu() {
        return usu;
    }

    public void setUsu(Usuario usu) {
        this.usu = usu;
    }

    public Livros getDriver() {
        return liv;
    }

    public void setliv(Livros liv) {
        this.liv = liv;
    }

    @Override
    public String toString() {
        return "Compras{" + "id=" + id + ", valor_total=" + valor_total + ", id_livros=" + id_livros + ", id_clientes=" + id_clientes +  ", dtini=" + dtini + ", dtfim=" + dtfim + ", observacao=" + observacao + '}';
    }
}

Mesmo problema que Aqui, você está tentando chamar um construtor que não existe.

1 curtida

Staroski obrigado pela resposta, mas onde eu que tenho que declarar esse construtor, to começando em java agora e estou bem confuso.

Acho que é mais rápido pesquisar você mesmo do que postar no fórum e esperar:

Sabe o que é e pra que serve um construtor?

Você tem esse construtor aqui

public Compras(int id, double valor_total, int id_livros, int id_clientes, int idUsuario, String dtini, String dtfim, String observacao) {

Que recebe um int, um double, quatro int e três String.

Mas está tentando chamar ele passando um double, dois int e quatro String.

Tem que passar os parâmetros que ele espera.