包含不适用的方法(" \\ +")

时间:2017-04-21 22:10:33

标签: java android

我正在尝试为Android编写一个Calculator应用程序。 对于4个主要的运算符( - * / +)我使用了这个方法,其中3个没有任何问题,但对于+运算符,它无法识别字符串i中的+符号。他是我和/和+运营商的代码:

case R.id.buttonEql:
            current=show.getText().toString();
           if(current.contains("/"))
           { current+=input.getText().toString();
               show.setText(current);
              parts  = current.split("/");
           firstNumber = Integer.parseInt(parts[0]);
           secondNumber = Integer.parseInt(parts[1]);
              operationResult = firstNumber/secondNumber;
               show.setText("");
               show.setText(String.valueOf(operationResult));
               input.setText("0");
           }
           else if (current.contains("\\+"))
           {current=show.getText().toString();
               current+=input.getText().toString();
               show.setText(current);
               parts  = current.split("\\+");
               firstNumber = Integer.parseInt(parts[0]);
               secondNumber = Integer.parseInt(parts[1]);
               operationResult = firstNumber+secondNumber;
               show.setText("");
               show.setText(String.valueOf(operationResult));
               input.setText("0");}

2 个答案:

答案 0 :(得分:4)

在其他情况下如果有条件,那么做什么呢    current.contains("+").

你正在传递一个正则表达式(转义它),你不应该为String包含函数。检查Java API Doc for String

答案 1 :(得分:2)

请使用contains()而不转义,split()使用转义

current.contains("+")

current.split("\\+")