最简单的编程语言 题目描述 为了提高工作效率,巨硬公司决定开发一种新型的编程语言。由于是从零开始开发,难度可想而知。不过,即使是当今世界上最强大的编程语言,也不是刚被发明出来就马上拥有强大功能的,它们都是通过慢慢的改进从而逐渐强大起来的。因此公司决定先将该编程语言的最基本部分做出来,以后再渐渐扩充其它功能。该编程语言最基本的部分是计算。作为公司的首席程序设计师,你的任务就是完成该功能。
输入 输入由两部分组成:变量定义部分和表达式计算部分。在变量定义部分中,每一行只能定义一个变量,并且一定要赋上一个初值。计算部分则是每一行有一个表达式,表达式由变量和操作符组成,符号和变量之间用一个空格分隔,且符号只能取+、-、*、/这四种,变量定义部分和表达式计算机部分之间用%%%进行分隔,下面是一个例子: a = 4 b = 2 %%% a + b a - b
输出 表达式的结果,每行输入一个结果
样例输入 1 2 3 4 5 6 7 a = 4 b = 2 c = 1 %%% a + b + c a - b - c a - a
样例输出
题解 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 import java.util.HashMap;import java.util.Scanner; 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); } } }