Então, vc tentou fazer com switch case? não acha melhor?
E em vez de usar o equals, vc apenas verifica a igualdade ==
[]´s
thokk
if(read.equals("/") || read.equals("-")) e assim sucessivamente…
ou fazer igual o leandronsp falou.
Lavieri
vc pode fazer via expressões regulares… tem que pesquisar em regex… eu sempre que preciso dou uma olhada… assim de cabeça não sei te responder como fazer esse seu ||…
// if (read.equals("+"||"-"||"*"||"/" )) -> não compila// Tradução literalif("+".equals(read)||"-".equals(read)||"*".equals(read)||"/".equals(read))...// Ou tambémif(read!=null&&read.length()==1&&(read.charAt(0)=='+'||read.charAt(0)=='-'||read.charAt(0)=='*'||read.charAt(0)=='/'))// Ou tambémif(read!=null&&read.matches("[+*/-]"))// Ou tambémif(read!=null&&read.length()==1&&("+-*/".indexOf(read)!=-1))// Ou tambémif(read!=null&&read.length()==1){switch(read.charAt(0)){case'+':case'-':case'*':case'/':....
B
Bruno_Laturner
Eu usaria o matches, se esses caracteres fossem fazer uma coisa só, ou um switch caso alguma coisa a mais, como botões de uma calculadora.
Aproveitando sobre regex.
como faço uma expressão para fazer um replace no resto?
por exemplo minha string é “[sha1:0][md5:1]”
Se eu quiser mudar o que tem depois de ‘sha1:’ e antes de ‘]’ ?
Para no caso se eu passar o valor 3 ficar assim: “[sha1:3][md5:1]”
?