mabazi Postado Maio 2, 2017 Denunciar Compartilhar Postado Maio 2, 2017 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 corescomo faço uma comparação entre as duas? OBS1: ja tentei usar replace("&", "§") Link para o comentário Compartilhar em outros sites More sharing options...
smgabriel Postado Maio 2, 2017 Denunciar Compartilhar Postado Maio 2, 2017 (editado) 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 Maio 2, 2017 por GabrielSm_ Link para o comentário Compartilhar em outros sites More sharing options...
smgabriel Postado Maio 2, 2017 Denunciar Compartilhar Postado Maio 2, 2017 String a = e.getLine(0); String b = m.getConfig().getString("Outra); if (a.equalsIgnoreCase(b)) { sout("É igual"); }else{ sout("Não é igual"); } Tente esse método, não testei e fiz pelo navegador. Link para o comentário Compartilhar em outros sites More sharing options...
mabazi Postado Maio 2, 2017 Autor Denunciar Compartilhar Postado Maio 2, 2017 String a = e.getLine(0); String b = m.getConfig().getString("Outra); if (a.equalsIgnoreCase(b)) { sout("É igual"); }else{ sout("Não é igual"); } Tente esse método, não testei e fiz pelo navegador. essa foi minha primeira tentativa ;--; Link para o comentário Compartilhar em outros sites More sharing options...
Dery Postado Maio 2, 2017 Denunciar Compartilhar Postado Maio 2, 2017 if(sign.getLine(linha).equalsIgnoreCase(getConfig().getString("placa.linha1").replace("&", "§")){ // É igual } 1 Link para o comentário Compartilhar em outros sites More sharing options...
iVictor777z Postado Maio 2, 2017 Denunciar Compartilhar Postado Maio 2, 2017 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 More sharing options...
mabazi Postado Maio 2, 2017 Autor Denunciar Compartilhar Postado Maio 2, 2017 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 More sharing options...
leonardosc Postado Maio 2, 2017 Denunciar Compartilhar Postado Maio 2, 2017 Já tentou usar o ChatColor.stripColor? String placa = ChatColor.stripColor(sign.getLine(0)); String config = ChatColor.stripColor(getConfig().getString("placa.linha0")); if (placa.equals(config)) { // se quiser ignorar o case das letras é só usar o equalsIgnoreCase // é igual. } Link para o comentário Compartilhar em outros sites More sharing options...
Gutyerrez Postado Maio 7, 2017 Denunciar Compartilhar Postado Maio 7, 2017 Sua dúvida foi marcada como [Resolvido] e movido à área de dúvidas resolvidas.Atenciosamente,Gamer's Board Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
mabazi
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