1. 看题意,很简单,通俗易懂。代码思路方法如果没找好,会难写,代码长。
  2. 首先将字符串以“+”分割成数组。注意str.split(“\+”)。
  3. 再在每个元素比较是否含有“*”,若有先把乘的结果算出来,最后相加。
  4. 最后关键:int型最大数值:2147483647。题目每个数范围是0-2147483647。最大数乘最大数就足以不满足题意了。所以记得在算完每一个sum或s的时候%10000。
  5. 输出最后四位数,前导0不输出:最简单快速的方法是用求余。10000001%10000=1
import java.util.Scanner;
public class Main{
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		String str=sc.next();
		String[] a=str.split("\\+");
		int sum=0;
		for(int i=0;i<a.length;i++) {
			if(a[i].contains("*")) {
				String[] b=a[i].split("\\*");
				int s=Integer.parseInt(b[0]);
				for(int j=1;j<b.length;j++) {
					s=(s*Integer.parseInt(b[j]))%10000;
				}
				sum+=s;
			}else {
				sum=(sum+Integer.parseInt(a[i]))%10000;
			}
		}
		System.out.print(sum%10000);
	}
}