Ir para o conteúdo
ac88

Duvida num hashmap

Mensagens Recomendadas

ac88

Boas malta, estou com um problema, eu tenho um programa que cria uma folha sem nome, faço várias coisas e depois posso guarda-la com o nome que eu quero. O problema está quando eu quero abrir uma folha existente e vou ao map ver se o nome da folha que me deram para abrir existe. No código em baixo podem ver como crio o map, como coloco lá o nome e a folha, e como faço o open.

public class GestorFolha implements Serializable{
//...
//...
  private Map<String, Folha> _folhas = new HashMap<String, Folha>;
  //...
  public Map<String, Folha> folhas(){return this._folhas;}
  //..
  public void guardarComo (String name) throws IOException{
		//...
		this.folhas().put(name, this.folhaActual);
  }
  //...
  public boolean folhaExiste(String nome){return this.folhas().contaisKey(nome);}
  //...
}

public class Open extends Command<GestorFolha>{
//...
//...
  public final void execute() throws DialogException, IOException{
		//...
		if (receiver.folhaExiste(nome)){ //esta linha de codigo nunca da true - o problema esta aqui mas nao consigo resolver
		_receiver.abrirFolha(nome);
		//...
		//...
  }
}

outra duvida que eu tenho

cena = celula[0].split(";");
linha1 = Integer.parseInt(cena[0]);
coluna = Integer.parseInt(cena[1]);

como posso comparar a linha1 e a coluna de maneira a que me dê um boolean ?

espero que me consigam ajudar.

Obrigado e cumprimentos

Editado por ac88

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

eu não percebi absolutamente nada do que pretendes na primeira parte ...

a segunda :

linha1 == coluna; // resulta num booleano ...


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ac88

Então é assim aquele Map é para guardar o nome de todas as folhas e respectivas folhas que foram guardadas como ficheiros. Quando eu chamo a função guardarComo ela faz put e supostamente mete no Map porque eu fiz debug e ele está lá mas quando invoco o folhaexiste ele diz que a folha correspondente ao nome não está dentro do Map e devolve null. Queria saber se estou a fazer alguma coisa mal -.-

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ac88

isso foi um erro a escrever aqui. senão nem deixava compilar. mas ele compila só que como disse

 _receiver.folhaExiste(nome)

nunca é true logo nunca abre a folha. e não consigo perceber porquê :s

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ac88

já consegui resolver. agora tenho outro problema eu inicio uma string a null e tenho uma função que faz return da string. quando executo dá NullPointerExcpetion, como posso resolver isto ?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Baderous

O problema não é, de certeza, de fazer return de uma string que está a null. O problema é que estás a invocar em algum lado algum método da string ou a passá-la como argumento a outro método qualquer que depois a usa e estoura.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Basicamente se tens uma função que possivelmente te possa retornar nulo, antes de dares o output da função deves fazer uma verificação.

private String teste(){
  String v = null;
  return v;
}
if(teste() != null){
  // output
}

Editado por bioshock

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.