问题描述 输入一个字符串表达式,输出它的结果,表达式中只包含加法和减法,且运算均在整数范围之内。输入格式 一行,字符串表达式。表达式长度不会超过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); } }