java - How to accurately compare strings? -


i have function in takes string, , 2 int. function, depending on string is, performs operations on 2 numbers.

my default case runs though pass "+", "-" etc. dont know why. code:

 public int evaluateanswertwooperations(string operation, int numberone, int numbertwo) {      switch(operation){          case "+":             log.d("usingsubtraction","plus2nmbers");             return numberone + numbertwo;         case "-":             log.d("usingsubtraction","usingsubtraction");             return  numberone - numbertwo;         case "/":             log.d("usingsubtraction","usingdivision");             return numberone / numbertwo;         default:             log.d("usingsubtraction","usingmultiplication");             return numberone*numbertwo;      } 

anyone know why?

since you're using string of length 1 each switch cases, rather use char instead. try following:

public int evaluateanswertwooperations(char operation, int numberone, int numbertwo) {      switch(operation){          case '+':             log.d("usingsubtraction","plus2nmbers");             return numberone + numbertwo;         case '-':             log.d("usingsubtraction","usingsubtraction");             return  numberone - numbertwo;         case '/':             log.d("usingsubtraction","usingdivision");             return numberone / numbertwo;         default:             log.d("usingsubtraction","usingmultiplication");             return numberone*numbertwo;      } } 

Comments

Popular posts from this blog

java - pagination of xlsx file to XSSFworkbook using apache POI -

Unlimited choices in BASH case statement -

apache - How do I stop my index.php being run twice for every user -