Client.java
上传用户:hensond
上传日期:2021-12-27
资源大小:817k
文件大小:1k
源码类别:

软件工程

开发平台:

Java

  1. package com.company.section1;
  2. import java.io.BufferedReader;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. import java.util.HashMap;
  6. /**
  7.  * @author cbf4Life cbf4life@126.com
  8.  * I'm glad to share my knowledge with you all.
  9.  */
  10. public class Client {
  11. //运行四则运算
  12. public static void main(String[] args) throws IOException{
  13. String expStr = getExpStr();
  14. //赋值
  15. HashMap<String,Integer> var = getValue(expStr);
  16. Calculator cal = new Calculator(expStr);
  17. System.out.println("运算结果为:"+expStr +"="+cal.run(var));
  18. }
  19. //获得表达式
  20. public static String getExpStr() throws IOException{
  21. System.out.print("请输入表达式:");
  22. return (new BufferedReader(new InputStreamReader(System.in))).readLine();
  23. }
  24. //获得值映射
  25. public static HashMap<String,Integer> getValue(String exprStr) throws IOException{
  26. HashMap<String,Integer> map = new HashMap<String,Integer>();
  27. //解析有几个参数要传递
  28. for(char ch:exprStr.toCharArray()){
  29. if(ch != '+' && ch != '-'){
  30. if(!map.containsKey(String.valueOf(ch))){ //解决重复参数的问题
  31. System.out.print("请输入"+ch+"的值:");
  32. String in = (new BufferedReader(new InputStreamReader(System.in))).readLine();
  33. map.put(String.valueOf(ch),Integer.valueOf(in));
  34. }
  35. }
  36. }
  37. return map;
  38. }
  39. }