{Solucionado} Erro: cannot find symbol

Boa Noite!!

Estou fazendo um exercicio em JAVA, existem duas classes uma de negócio (Produto) e outra de manipulação de objetos (Faturamento), porém quando vou compilar a segunda classe é exibido os dois erros seguintes:

cannot find symbol
symbol: constructor Produto (Java Lang.String, java.lan.String, java.lan.String, java.lan.String)
location: class Produto
Produto objP1 = new Produto ();
^

cannot find symbol
symbol: constructor Produto (Java Lang.String, java.lan.String, java.lan.String, java.lan.String)
location: class Produto
objP2 = new Produto (“002”, “lápis”, “1.20”, “5”);
^

Se alguém puder me ajudar!!

:roll:

Segue os códigos abaixo:

Classe Produto:

public class Produto {
private Integer Codigo;
private String Descricao;
private double ValorUnitario;
private Integer QtdVendida;
private double TotalVendas;

//Construtor 1

public Produto(Integer c)
{
Codigo=c;
Descricao="";
ValorUnitario=0;
QtdVendida=0;
TotalVendas=0;
}

// Construtor 2

public Produto(Integer c, String d, double v, Integer q)
{
Codigo=c;
Descricao=d;
ValorUnitario=v;
QtdVendida=q;
}

// Métodos de Acesso

public void setCodigo (Integer c)
{
Codigo=c;
}

public void setDescricao (String d)
{
Descricao=d;
}

public void setValorUnitario (double v)
{
ValorUnitario=v;
}

public void setQtdVendida (Integer q)
{
QtdVendida=q;
}

public Integer getCodigo()
{
return Codigo;
}

public String getDescricao()
{
return Descricao;
}

public double getValorUnitario ()
{
return ValorUnitario;
}

public Integer getQtdVendida ()
{
return QtdVendida;
}

public double getTotalVendas ()
{
return TotalVendas;
}

// Cálculo do Total de Vendas
public double CalcularTotalVendas ()
{
return (QtdVendida*ValorUnitario);
}

public void imprimir()
{
System.out.println (“Codigo…”+Codigo);
System.out.println (“Descricao…”+Descricao);
System.out.println (“Valor Unitario.”+ValorUnitario);
System.out.println (“Qtde Vendida…”+QtdVendida);
}
}

//Fim da Classe Produto


Classe Faturamento:

// Interface com o usuário

public class Faturamento {

public static void main (String[] args)

{
//Instancia objeto da classe Produto
//Utilizando Construtor que requer somente o Codigo
Produto objP1 = new Produto();
System.out.println(“Utilizando Construtor que requer apenas o Código do Produto”);
System.out.println(“001”) ;
System.out.println("\n\n"); //Pula duas linhas

//Instancia Objeto da Classe Produto
//Utilizando Construtor que requer o Código, Descrição, ValorUnitário e Qtd Vendida
Produto objP2;
objP2 = new Produto("002","lapis","1.20","5");
 

objP1.CalcularTotalVendas();
objP1.imprimir();

objP2.CalcularTotalVendas();
objP2.imprimir();

}
}

Olá!

Você definiu 2 construtores:

// Recebe apenas 1 parâmetro Integer.
public Produto(Integer c)
// Recebe 4 parâmetros, sendo o primeiro um Integer, o segundo uma String, o terceiro um double e o quarto um Integer novamente.
public Produto(Integer c, String d, double v, Integer q)

O problema que está acontecendo é que você está tentando utilizar um construtor passando 4 Strings, sendo que este construtor não existe! :smiley:

objP2 = new Produto("002","lapis","1.20","5"); // erro

Para corrigir retire as aspas que estão em volta dos tipos que não são String e deixe assim:

objP2 = new Produto(2,"lapis",1.20,5);

Olá

Acho que seu construtor teria que passar alguns argumentos, do tipo String.
Você usa alguma IDE? Caso não, seria interessante você utilizar, ele auxilia em alguns erros.

Espero ter ajudado
Flwsss

É isso aí… Lembre que o erro cannot find symbol é quando o compilador não acha algo, como o construtor com 4 strings e o sem nenhum argumento, mas também pode acontecer quando vc chama um método ou uma variável que não existem.
Obs: Coloque o código entre a tag code. Pra colocar tags no código coloque [tag] código [/tag]

Genteeee!!

Muito obrigada.

O problema foi resolvido retirandooo as aspas dos dados que não eram string e na linha onde se cria o primeiro objeto eu inseri um valor qualquer no parametro.

Boa Noite a todos.

:smiley: