小学数学
Time Limit: 1000 ms Memory Limit: 65536 KiB
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
Hint
补 split 的坑
https://blog.youkuaiyun.com/sun5769675/article/details/50204591
①、如果用“.”作为分隔的话,必须是如下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split(".");
②、如果用“|”作为分隔的话,必须是如下写法:String.split("\\|"),这样才能正确的分隔开,不能用String.split("|");
“.”和“|”都是转义字符,必须得加"\\";
③、如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“a=1 and b =2 or c=3”,把三个都分隔出来,可以用String.split("and|or");
实际上java的split有一个重载方法,是两个参数的,ok第二个参数就是你期望数组的长度,当然如果你写100,那么你也不可能得到长度为100的数组在本例当中,他是个limit的概念。
import java.util.*;
import java.lang.*;
import java.math.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int count = 0;
while(sc.hasNext()) {
String str = sc.nextLine();
int a, b;
if(str.indexOf("?") == -1) { //在没有找到时返回-1
String []s1 = str.split("=");
int c = Integer.parseInt(s1[1]);
if(str.indexOf("+") != -1) {
String []s2 = s1[0].split("\\+");
a = Integer.parseInt(s2[0]);
b = Integer.parseInt(s2[1]);
if(a + b == c) {
count++;
}
}
else if(str.indexOf("-") != -1) {
String []s2 = s1[0].split("\\-");
a = Integer.parseInt(s2[0]);
b = Integer.parseInt(s2[1]);
if(a - b == c) {
count++;
}
}
}
}
System.out.println(count);
sc.close();
}
}
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int count = 0;
while(sc.hasNext()) {
String str = sc.nextLine().trim();
int a, b, c;
if(str.indexOf("?") == -1) { //在没有找到时返回-1
if(str.indexOf("+") != -1) {
String []s1 = str.split("\\+|=");
c = Integer.parseInt(s1[2]);
a = Integer.parseInt(s1[0]);
b = Integer.parseInt(s1[1]);
if(a + b == c) {
count++;
}
}
else if(str.indexOf("-") != -1) {
String []s2 = str.split("-|=");
c = Integer.parseInt(s2[2]);
a = Integer.parseInt(s2[0]);
b = Integer.parseInt(s2[1]);
if(a - b == c) {
count++;
}
}
}
}
System.out.println(count);
}
}