Cannot find symbol na herança

5 respostas
C

Olá pessoal, como vão?

Por favor, alguém pode me ajudar nesta resolução? Está dando um erro de ‘cannot find symbol’ na classe Carro e faz 2 dias q estou tentando… e nada.

Classe: Veiculo.java

package lala;

public class Veiculo {

private int anoFabricacao;          
private double valor;
private int lugares;


public Veiculo(int anoFabricacao, double valor, int lugares) 
{

    this.anoFabricacao = anoFabricacao;
    this.valor = valor;
    this.lugares= lugares;
}


public void mostrar() 
{
    System.out.println("Ano de Fabricação :" + anoFabricacao);
    System.out.println("Valor             :" + valor);
    System.out.println("Nr. de lugares    :" + lugares);
}

}

Classe: Carro.java

package lala;

public class Carro extends Veiculo

{

private String placa;

private String marca;

private String modelo;
public Carro(int anoFabricacao, Double valor, int lugares, String placa, String marca, String modelo) 
{

    super(anoFabricacao, valor, lugares);

    this.placa = placa;
    this.marca = marca;
    this.modelo= modelo;
}

    

public void mostrar() 
{
    System.out.println("Placa :" + placa);
    System.out.println("Marca :" + marca);
    System.out.println("Modelo:" + modelo);
}

}

Classe: Teste.java

package lala;

public class Teste {

public static void main(String args[]) { 


	Carro fusca = new Carro( 1962, 2000, 5, "ABC1234", "VW", "Fusca" );

	fusca.mostrar(); 
}

}

Onde estou errando?

[]´s
Robson

5 Respostas

F

Ola amigo, no construtor de carro você tem o parametro ‘Double valor’ certo, e você esta passando o valor '2000’, o que pode estar acontecendo é que ele esteja entendendo que este valor é um ‘int’, coloca assim '2000d’ porque dessa maneira ele vai entender que é um ‘Double’, isso não acontence caso você use um tipo primitivo double.

Veja se é isso qualquer coisa estamos ai!

danilopelegrino

Ola Cartola.

Posta pra gente o erro que esta dando pra gente analizar melhor…

frazzato, o erro não pode estar nisso que vc colocou, pq como o tipo primitivo double tem 8 bytes e o int tem 4 bytes, ou seja, o tipo double é maior que o tipo int, então o cast é automatico, somente se fosse o contrario ai sim daria erro.

abraçoooooooooooooooooooooo t++++++++++++

F

Ok danilopelegrino entendi o que você disse mas no caso ele esta usando a Classe Double no construtor de Carro não o tipo primitivo double, será que não pode ser isso?

C

Olá pessoal, olha o erro em anexo.

[]´s
Cartolla


C

Olá amigos, obrigado pela ajuda de vcs!

O grande Frazzato me ajudou em cheio. Era a falta do ‘d’ (de double) na passagem do valor.

Abração, caso resolvido.

Robson

Criado 30 de outubro de 2008
Ultima resposta 1 de nov. de 2008
Respostas 5
Participantes 3