Problem Description
今年中秋节,大宝哥带着一盒月饼去看望小学数学老师。碰巧数学老师在指导他的学生“100以内的加减法”,由于老师要指导很多个小朋友,所以经常会忙不过来,于是老师便请大宝帮忙检查下小朋友们的作业情况,并统计出每个小朋友做对了几道题。其中每道算术题的格式为a+b=c、a-b=c、a+b=?、a-b=? 中的一种,最后的问号表示这个小朋友不会计算这道题。在检查作业的过程中,大宝发现他经常算错题目而且会数错个数。所以他想请你帮忙写个程序来统计小朋友做对题目的个数。
Input
输入包含多组测试数据,每组有一行,每行为一道加法或减法算式,数据格式保证符合上述格式,不包含任何其他字符且所有整数均不包含前导0。其中(0≤a,b≤100,0≤c≤200)。
Output
输出只有一行,包含一个整数,即等式成立的个数。
Sample Input
2+2=33-1=26+7=?99-0=?
Sample Output
1
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Locale;
public class Main {
public static void main(String []argc) {
Scanner in = new Scanner(System.in);
String regex1 = "\\d+";
String regex2 = "[\\+\\-\\*\\\\]";
Pattern p1 = Pattern.compile(regex1);
Pattern p2 = Pattern.compile(regex2);
int cnt = 0;
int n = 4;
while(in.hasNext()) {
String line = in.nextLine();
int num = 0;
int arr[] = new int[3];
Matcher m1 = p1.matcher(line);
Matcher m2 = p2.matcher(line);
while(m1.find()) {
arr[num++] = Integer.valueOf(m1.group());
}
String ch = null;
while(m2.find()) {
ch = m2.group();
}
if(num > 2) {
if(ch.equals("+")) {
if(arr[0] +arr[1] == arr[2]) {
cnt++;
}
}
else if(ch.equals("-")) {
if(arr[0] - arr[1] == arr[2]) {
cnt++;
}
}
}
}
System.out.println(cnt);
in.close();
}
}