问题描述
输入一个字符串表达式,输出它的结果,表达式中只包含加法和减法,且运算均在整数范围之内。
输入格式
一行,字符串表达式。表达式长度不会超过100。表达式最少有一项,且以等号=结束
输出格式
一行,输出结果。
样例输入
2+2345+913-3=
样例输出
3257
题目分析:简单的运算问题
算法分析:要注意第一个数为负数的情况,另外用java进行输入读取,要注意使用方法
算法设计:
import java.util.*;
class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String str = sc.next();
if(str.charAt(0)=='-'){
str = "0"+ str;
}
int k=0;
ArrayList<Character> symbol = new ArrayList<Character>();
ArrayList<Integer> number = new ArrayList<Integer>();
for(int i=0;i<str.length();i++){
if(str.charAt(i)=='+'||str.charAt(i)=='-') {
number.add(Integer.parseInt(str.substring(k, i)));
symbol.add(str.charAt(i));
k=i+1;
}
}
number.add(Integer.parseInt(str.substring(k,str.length()-1)));
int sum=number.get(0);
for(int i=0;i<symbol.size();i++) {
if(symbol.get(i)=='+') {
sum += number.get(i+1);
}
else if(symbol.get(i)=='-') {
sum -= number.get(i+1);
}
}
System.out.println(sum);
}
}