您的位置:首页 > 编程语言 > Java开发

小学数学(Java)acm.sdut

2017-04-09 20:38 288 查看


Problem Description

今年中秋节,大宝哥带着一盒月饼去看望小学数学老师。碰巧数学老师在指导他的学生“100以内的加减法”,由于老师要指导很多个小朋友,所以经常会忙不过来,于是老师便请大宝帮忙检查下小朋友们的作业情况,并统计出每个小朋友做对了几道题。其中每道算术题的格式为a+b=c、a-b=c、a+b=?、a-b=? 中的一种,最后的问号表示这个小朋友不会计算这道题。在检查作业的过程中,大宝发现他经常算错题目而且会数错个数。所以他想请你帮忙写个程序来统计小朋友做对题目的个数。

Input

 输入包含多组测试数据,每组有一行,每行为一道加法或减法算式,数据格式保证符合上述格式,不包含任何其他字符且所有整数均不包含前导0。其中(0≤a,b≤100,0≤c≤200)。

Output

 输出只有一行,包含一个整数,即等式成立的个数。

Example Input

2+2=3

3-1=2

6+7=?

99-0=?


Example Output

1


import java.util.Scanner;

public class Main {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int sum = 0;
while (sc.hasNext()) {
String str = sc.next();
char[] ch = str.toCharArray();
int f=0;
if (ch[str.length() - 1] != '?') {
for (int i = 0; i < str.length(); i++) {
if (ch[i] == '+') {
f = 1;
break;
} else if(ch[i]=='-') {
f = 2;
break;
}
}

String []array=str.split("\\+|-|=");
int a = Integer.parseInt(array[0]);
int b = Integer.parseInt(array[1]);
int c = Integer.parseInt(array[2]);

Math math = new Math(a, b, c);
if (f==1) {
if (math.juageAdd(a, b, c)) {
sum++;
}
}
else if(f==2){
if (math.juageSub(a, b, c)) {
sum++;
}
}

}
}

System.out.println(sum);
sc.close();
}

}

class Math {

private int a;
private int b;
private int c;

public Math(int a, int b, int c) {
this.a = a;
this.b = b;
this.c = c;
}

public int getA() {
return a;
}

public void setA(int a) {
this.a = a;
}

public int getB() {
return b;
}

public void setB(int b) {
this.b = b;
}

public int getC() {
return c;
}

public void setC(int c) {
this.c = c;
}

public boolean juageAdd(int a, int b, int c) {

if (a + b == c) {
return true;
} else {
return false;
}
}

public boolean juageSub(int a, int b, int c) {
if (a - b == c) {

return true;
} else {

return false;
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  acm.sdtu