[RESOLVIDO]Cannot Find Symbol

3 respostas
gordogranudo

Olá pessoal estou com um problema ao tentar compilar meu arquivo BancoDeDados.java
gera um cannot Find Symbol

E:\tads>javac BancoDeDados.java
BancoDeDados.java:7: error: cannot find symbol
        private static List<Usuario> user;
                            ^
  symbol:   class Usuario
  location: class BancoDeDados
BancoDeDados.java:9: error: cannot find symbol
                user = new ArrayList<Usuario>();
                                     ^
  symbol:   class Usuario
  location: class BancoDeDados
BancoDeDados.java:12: error: cannot find symbol
                for(Usuario us : user){
                    ^
  symbol:   class Usuario
  location: class BancoDeDados
BancoDeDados.java:14: error: cannot find symbol
                                throw new UsuarioDuplicadoException(nomeDoUsuaro
);
                                          ^
  symbol:   class UsuarioDuplicadoException
  location: class BancoDeDados
BancoDeDados.java:14: error: cannot find symbol
                                throw new UsuarioDuplicadoException(nomeDoUsuaro
);
                                                                    ^
  symbol:   variable nomeDoUsuaro
  location: class BancoDeDados
5 errors

esse é o codigo da BancoDeDados.java

package tads;

import java.util.List;
import java.util.ArrayList;

public class BancoDeDados{
	private static List<Usuario> user;	
	static{
		user = new ArrayList<Usuario>();
	}
	private void cadastrarUsuario(String nomeDoUsuario){
		for(Usuario us : user){
			if(us.nome.equals(nomeDoUsuario)){
				throw new UsuarioDuplicadoException(nomeDoUsuaro);
			}
			user.add(nomeDoUsuario);
		}
		
	}
}

e esse é o codigo da Usuario.java

package tads;

public class Usuario{
	
	private static int aux;
	private int codigo;
	private String nome;
	
	public Usuario(String nome){
		this.nome=nome;
		codigo=++aux;
	}
	public void setNome(String nome){
		this.nome=nome;
	}
	public String getNome(){
		return nome;
	}
}

ja verifiquei os nomes estão corretos
os dois arquivos estão no mesmo diretorio
tentei compilar de fora da pasta
usando javac tads\BancoDeDados.java e nada
não estou utilizado IDE propositalmente pois nas avaliações o professor nao deixará utilizar
agradeço a atenção

3 Respostas

A

A classe da sua Exceção está no mesmo pacote? se não, terá que importá-la.

na Linha 13 da classe BancodeDados, você está acessando o atributo “nome” da Classe Usuário, só que este atributo é privado!

A lista que você criou recebe elementos do tipo Usuario e você está tentado inserir uma String.

sua JDK é apartir da versão 5.0?

porque tem alguns erros como se não reconhecesse Generics,Foreach. não sei,

gordogranudo

esta no mesmo pacote sim
quanto a referenciar uma variavel private nao aparece nenhum erro no compilador :confused:
mas quanto a não reconhecer a classe Usuario? essas coisas que você falou tem a ver?
muito estranho estão no mesmo diretorio
vou dar uma olhada nisso que voce disse sobre adicionar String na lista
qualquer coisa dou um salve aqui

gordogranudo

O problema era o classpath que tava definido para o servlet-api do tomcat
valeu ai

Criado 23 de março de 2013
Ultima resposta 24 de mar. de 2013
Respostas 3
Participantes 2