1046 加法器(java)

xiaoxiao2021-02-28  51

问题描述  输入一个字符串表达式,输出它的结果,表达式中只包含加法和减法,且运算均在整数范围之内。输入格式  一行,字符串表达式。表达式长度不会超过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); } }
转载请注明原文地址: https://www.6miu.com/read-2631618.html

最新回复(0)