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

Meu IDE diz Cannot resolve symbol 'data'

Ao tentar inserir o dia, o mês e o ano meu IDE diz "Cannot resolve symbol 'data' "

Variáveis:

class Funcionario {
    String nome;
    String cpf;
    String idade;
    String setor;
    String rg;
    int salario;
    double valorpassagem;
    Data data;

Classe Data:

class data{
        int dia;
        int mes;
        int ano;

    }

Main:

public static void main(String[] args){
        Funcionario roberto =  new Funcionario();

        roberto.nome = "Roberto";
        roberto.cpf = "079067";
        roberto.idade = "39";
        roberto.setor = "T.I";
        roberto.salario = 6500;
        roberto.rg = "015";
        roberto.mostra();
        data roberto = new data();
        roberto.data.dia = 28;
        roberto.data.mes = 12;
        roberto.data.ano = 97;

Erros recebido:

Error:(9, 5) java: cannot find symbol
  symbol:   class Data
  location: class Funcionario
Error:(49, 14) java: variable roberto is already defined in method main(java.lang.String[])
2 respostas

Luhan,

Começando do segundo erro, a variável 'roberto' já foi utilizada para declarar um novo Funcionario e não poderá ser utilizada para declarar também uma nova data. A declaração de nova Data deverá ser de referencia a um Funcionario, ou seja, a sua Data está dentro de roberto. Segue sugestão e me avise se deu certo:

//codigo...

//declaracao de Data
roberto.data = new Data();

//continuacao do codigo...
solução!

Bom dia Luhan.

Primeiro erro: duas variáveis com o mesmo nome:

Funcionario roberto =  new Funcionario();
data roberto = new data();

Segundo erro: você criou a classe data com iniciais minúsculas, e na classe Funcionário, tentou criar um atributo "data" do tipo "Data", porém sua classe está criada como "data".

class data{
        int dia;
        int mes;
        int ano;

    }
Data data;

O java é case sentivive. Solução: Renomear sua classe para "Data". A convenção é nomes de classes com iniciais maiúsculas.