Ir para conteúdo
  • 0

[Duvida] Comparar Strings


mabazi

Pergunta

Como faço para comparar StringA com StringB?

tendo em conta que StringA é sign.getLine(0).toString(); e StringB é getConfig().getString("placa.linha0"); e as duas usan codigo de cores

como faço uma comparação entre as duas?

 

OBS1: ja tentei usar replace("&", "§")

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

essa foi minha primeira tentativa ;--;

Faça um debugg e veja aonde para.

Você falou que mesmo usando replace, não adiantou, você usou replace nas duas strings ou apenas em uma?

Já verificou se o diretorio da config está certo?

Eu fiz um debugg e aqui funcionou perfeitamente: http://imgur.com/AHxuxJd

		Bukkit.broadcastMessage("[1]");
		String a = e.getLine(0).replace("&", "§");
		String b = getConfig().getString("placa.linha0").replace("&", "§");
		if(a.equalsIgnoreCase(b)){
			Bukkit.broadcastMessage("[2]");
			System.out.println("SIM");
		}else{
			Bukkit.broadcastMessage("[3]");
			System.out.println("Não");
		}
		Bukkit.broadcastMessage("[4F]");
	}

Caso não tenha resultados positivos, mostre seu método.

Editado por GabrielSm_
Link para o comentário
Compartilhar em outros sites

if(sign.getLine(linha).equalsIgnoreCase(getConfig().getString("placa.linha1").replace("&", "§")){
    // É igual
}

Faça o que esta a cima /\

 

se nao funcionar acredito que você nao tenha adicionado um @EventHandler ou nao registrou os eventos na Main.

 

Ou você nao esta pegando o bloco corretamente.

 

Jeito correto:

Sign sign = (Sign) e.getClickedBlock().getState();
Link para o comentário
Compartilhar em outros sites

Faça um debugg e veja aonde para.

Você falou que mesmo usando replace, não adiantou, você usou replace nas duas strings ou apenas em uma?

Já verificou se o diretorio da config está certo?

Eu fiz um debugg e aqui funcionou perfeitamente: http://imgur.com/AHxuxJd

		Bukkit.broadcastMessage("[1]");
		String a = e.getLine(0).replace("&", "§");
		String b = getConfig().getString("placa.linha0").replace("&", "§");
		if(a.equalsIgnoreCase(b)){
			Bukkit.broadcastMessage("[2]");
			System.out.println("SIM");
		}else{
			Bukkit.broadcastMessage("[3]");
			System.out.println("Não");
		}
		Bukkit.broadcastMessage("[4F]");
	}

Caso não tenha resultados positivos, mostre seu método.

Bukkit.broadcastMessage("[1]");
String a = pla.getLine(1).replace("&", "§");
String b = getConfig().getString("Placas.Clicado.Linha2").replace("&", "§");
if(a.equalsIgnoreCase(b)){
	Bukkit.broadcastMessage("[2]");
	System.out.println("SIM");
}else{
	Bukkit.broadcastMessage("[3]");
	System.out.println("Não");
}
Bukkit.broadcastMessage("[4F]");

ele enviou Nao ;-;

 

Faça o que esta a cima /\

 

se nao funcionar acredito que você nao tenha adicionado um @EventHandler ou nao registrou os eventos na Main.

 

Ou você nao esta pegando o bloco corretamente.

 

Jeito correto:

Sign sign = (Sign) e.getClickedBlock().getState();

esta tudo correto, porem na hora que chega na verificação ele para!, todas as verificações antecessores funcionam, mas as posteriores não

 

if(pla.getLine(0).equalsIgnoreCase(getConfig().getString("Placas.Clicado.Linha1").replace("&", "§")){

}

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem está navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...