1004.算术运算
时长限制: 1000 MS 内存限制: 32768 KB
描述
通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。
补充说明:
1. 操作数为正整数,不需要考虑计算结果溢出的情况。
2. 若输入算式格式错误,输出结果为“E”。
输入
输入由多组测试数据组成。第一行输入一个整数t,表示测试数据的组数。
输入字符串的格式为:“操作数1 运算符 操作数2”,“操作数”与“运算符”之间以一个空格隔开。
输出
输出有t行,每行依次对应一组测试数据的运算结果。
示例输入
3
5 + 3
3 – 5
9 ++ 7
示例输出
8
-2
E
解题思路
由于“操作数”与“运算符”之间以一个空格隔开。
所以在获取操作数和运算符时可以直接用整行按照空格进行分割
读取分割后的第二组是不是运算符,第一组第三组是否是整数,
检查通过后运算即可。
Ac源码(Java)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int times= sc.nextInt(); sc.nextLine(); String[] counts = new String[times]; for (int i = 0; i < times; i++){ counts[i] = sc.nextLine(); } sc.close(); String[] countsStrArr; for (String countsStr : counts){ countsStrArr = countsStr.split(" "); switch(countsStrArr[1]){ case "+": System.out.println(Integer.parseInt(countsStrArr[0]) + Integer.parseInt(countsStrArr[2])); break; case "-": System.out.println(Integer.parseInt(countsStrArr[0]) - Integer.parseInt(countsStrArr[2])); break; default: System.out.println("E"); break; } } } } |