package util; import java.io.FileInputStream; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Properties; public class Test { public static void main(String[] args) throws IOException { Properties props = new OrderedProperties(); FileInputStream fileInputStream = new FileInputStream("input.properties"); props.load(fileInputStream); // 用于存储所有节点:结束节点为GX=即:将值使用等号分割后length=1 Map<String, String> map = new HashMap<String, String>(); for (Object key : props.keySet()) { map.put(key.toString(), props.getProperty(key.toString())); } for (Object key : props.keySet()) { if (props.getProperty(key.toString()).split("=").length > 1) { String newstr = th(map, props.getProperty(key.toString()).split("=")[1]); System.out.println(newstr); } } } public static String th(Map<String, String> map, String dd) { String[] arrayStr = dd.split("\\+|\\(|\\)|\\*|/|\\-"); // 去除数组中为空的字符串 List<String> tmp = new ArrayList<String>(); for (String str : arrayStr) { if (str != null && str.startsWith("G")) { tmp.add(str); } } arrayStr = tmp.toArray(new String[0]); for (String str : arrayStr) { String newstr = str; if (map.get(newstr).split("=").length > 1) { dd = dd.replaceAll(newstr, "(" + map.get(newstr).split("=")[1] + ")"); dd = th(map, dd); } } return dd; } }
package util; import java.util.Collections; import java.util.Enumeration; import java.util.LinkedHashSet; import java.util.Properties; import java.util.Set; public class OrderedProperties extends Properties { /** * */ private static final long serialVersionUID = 1L; private final LinkedHashSet<Object> keys = new LinkedHashSet<Object>(); public Enumeration<Object> keys() { return Collections.<Object> enumeration(keys); } public Object put(Object key, Object value) { keys.add(key); return super.put(key, value); } public Set<Object> keySet() { return keys; } public Set<String> stringPropertyNames() { Set<String> set = new LinkedHashSet<String>(); for (Object key : this.keys) { set.add((String) key); } return set; } }
G1:G1= G2:G2= G3:G3= G4:G4= G5:G5=G1+G3 G6:G6=G4+G5*G5-G4 G7:G7=G2+G6 G8:G8=G7+G3 G9:G9=G5+G8 G10:G10=G9+G8-G7
表达式的化简
最新推荐文章于 2023-11-13 17:11:19 发布