输入由两部分组成:变量定义部分和表达式计算部分。在变量定义部分中,每一行只能定义一个变量,并且一定要赋上一个初值。计算部分则是每一行有一个表达式,表达式由变量和操作符组成,符号和变量之间用一个空格分隔,且符号只能取+、-、*、/这四种,变量定义部分和表达式计算机部分之间用%%%进行分隔,下面是一个例子: a = 4 b = 2 %%% a + b a - b
public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); HashMap<String, Integer> hashMap = new HashMap<>(); while (scanner.hasNext()) { String s = scanner.nextLine(); if (s.equals("%%%")) break; String[] ss = s.split(" "); int put = Integer.parseInt(ss[2]); hashMap.put(ss[0], put); } while (scanner.hasNext()) { String s1 = scanner.nextLine(); String[] ss1 = s1.split(" "); int sum = hashMap.get(ss1[0]);
for (int i = 1; i < ss1.length; i += 2) { if (ss1[i].equals("+")) { sum += hashMap.get(ss1[i + 1]); } else if (ss1[i].equals("-")) { sum -= hashMap.get(ss1[i + 1]); } else if (ss1[i].equals("*")) { sum *= hashMap.get(ss1[i + 1]); } } System.out.println(sum); } } }