问题是这样的:编写程序,输入两个整数,和+、-、*、/ 、%之中的任意一个运算符,输出计算结果.。
下面是我写的程序:
import java.util.Scanner;
public class Test20 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner s = new Scanner (System.in);
System.out.println("请输入两个整数和+、-、*、/ 、%之中的任意一个运算符");
String str = s.next();
if (str.matches("\\d+[+]\\d+")){
String string[] = str.split("+");
/*System.out.println(string[0] + "***" + string[1]);*/
System.out.println(Integer.parseInt(string[0]) + Integer.parseInt(string[1]));
}else if (str.matches("\\d+[-]\\d+")){
String string[] = str.split("-");
System.out.println(Integer.parseInt(string[0]) - Integer.parseInt(string[1]));
}else if (str.matches("\\d+[*]\\d+")){
String string[] = str.split("*");
System.out.println(Integer.parseInt(string[0]) * Integer.parseInt(string[1]));
}else if (str.matches("\\d+[/]\\d+")){
String string[] = str.split("/");
System.out.println(Integer.parseInt(string[0]) / Integer.parseInt(string[1]));
}else if (str.matches("\\d+[%]\\d+")){
String string[] = str.split("%");
System.out.println(Integer.parseInt(string[0]) % Integer.parseInt(string[1]));
}else{
System.out.println("error");
}
}
}
运行之后会出现错误:
比如输入 1+1
出现错误的地方: String string[] = str.split("+");
求各位解答一下~

谢谢大家
------解决思路----------------------
很显然,+不能直接使用在正则表达式,他是有特殊含义的,要用加上\\
String string[] = str.split("\\+");