当前位置: 代码迷 >> J2SE >> 求解关于split的有关问题
  详细解决方案

求解关于split的有关问题

热度:35   发布时间:2016-04-23 19:40:12.0
求解关于split的问题~
问题是这样的:编写程序,输入两个整数,和+、-、*、/ 、%之中的任意一个运算符,输出计算结果.。

下面是我写的程序:

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("\\+");
  相关解决方案