自然语言处理小应用程序开发——汇率换算


自然语言处理小应用程序开发的一个汇率换算的小APP,压缩包内含所有源码和生成的JAR包。Eclipse工程,JDK1.7开发环境,windowbuilder插件画界面的。
资源截图
代码片段和文件信息
package exchangerate;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

public class CurrencyTable {

private static Map codeMap = new HashMap();
private static Map curMap = new HashMap();
private static Map cntMap = new HashMap();

static {
try {
InputStream is = CurrencyTable.class.getResourceAsStream(“/exchangerate/currencyTable.csv“);
BufferedReader reader = new BufferedReader(new InputStreamReader(is “gbk“));

String line;
while ((line = reader.readLine()) != null) {
String lineTrim = line.trim();
if (lineTrim.startsWith(“#“) || lineTrim.isEmpty()) {
continue;
}

String[] splitTmp = lineTrim.split(““);

if (splitTmp.length != 3) {
Utils.p(“WARN: currencyTable.csv has invalid line:“ + line);
continue;
}

Currency cur = new Currency(splitTmp);
//Utils.p(“Currency found from currencyTable.csv :“ + cur.getCurrencyCode());

if (codeMap.containsKey(cur.getCurrencyCode())) {
//发现重复CODE,合并
codeMap.get(cur.getCurrencyCode()).mergeToThis(cur);
Utils.p(“CODE重复(将合并): “ + cur.getCurrencyCode());
} else {
codeMap.put(cur.getCurrencyCode() cur);
}

//更新 cur
cur = codeMap.get(cur.getCurrencyCode());
for (String info : cur.getAliasCurrencyNames()) {
if (curMap.containsKey(info)) {
//Utils.p(“--> CURRENCY重复:“ + info);
} else {
curMap.put(info cur);
}
}
for (String info : cur.getAliasCountryNames()) {
if (cntMap.containsKey(info)) {
//Utils.p(“--> Country重复:“ + info);
} else {
cntMap.put(info cur);
}
}
}
reader.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e2) {
e2.printStackTrace();
} finally {

}
}

/**
 * 货币名查代码
 * @param currency
 * @return
 */
public static String currency2code(String currency) {
if (curMap.containsKey(currency) == false) {
return ““;
}

return curMap.get(currency).getCurrencyCode();
}

/**
 * xx国的货币名
 * @param country
 * @return
 */
public static String getCurrencyFromCountry(String country) {
if (cntMap.containsKey(country) == false) {
return ““;
}

return cntMap.get(country).getPreferredCurrencyName();
}

/**
 * xx是什么国家的货币
 * @param currency
 * @return
 */
public static String getCountryFromCurrency(String currency) {
if (curMap.containsKey(currency) == false) {
return ““;
}

return curMap.get(currency).getPreferredCountryName();
}

public static void main(String[] args) {
Utils.p(“done

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-06-15 14:43  Demo
     文件         729  2017-06-15 13:43  Demo.classpath
     文件         380  2017-06-15 13:43  Demo.project
     目录           0  2017-06-15 14:43  Demo.settings
     文件          57  2017-06-15 13:43  Demo.settingsorg.eclipse.core.resources.prefs
     文件         670  2017-06-15 13:43  Demo.settingsorg.eclipse.jdt.core.prefs
     目录           0  2017-06-15 14:43  Demolib
     文件      434678  2017-06-15 13:43  Demolibcommons-lang3-3.4.jar
     文件       61829  2017-06-15 13:43  Demolibcommons-logging-1.2.jar
     文件      351470  2017-06-05 17:04  Demolibfastjson-1.1.23.jar
     文件      411161  2017-06-15 13:43  Demolibfastjson-1.2.5.jar
     文件      736658  2017-06-15 13:43  Demolibhttpclient-4.5.2.jar
     文件      326724  2017-06-15 13:43  Demolibhttpcore-4.4.4.jar
     文件       94360  2017-06-15 13:43  Demolibjson.jar
     文件     2748959  2017-06-15 13:43  Demoliborg.eclipse.swt.jar
     目录           0  2017-06-15 14:43  Demosrc
     目录           0  2017-06-15 14:44  Demosrcexchangerate
     文件        3750  2017-06-15 13:43  DemosrcexchangeratecurrencyTable.csv
     文件        4548  2017-06-15 13:55  DemosrcexchangerateCurrencyTable.java
     文件       12936  2017-06-15 13:43  DemosrcexchangerateExHandler.java
     文件        8770  2017-06-15 13:43  DemosrcexchangerateExResult.java
     文件        7639  2017-06-15 13:43  DemosrcexchangerateMainJframe.java
     文件        5042  2017-06-14 16:04  DemosrcexchangerateNLI.java
     文件        7687  2017-06-15 13:43  DemosrcexchangerateUtils.java
     文件     4484813  2017-06-15 13:59  exchangerate_olami.jar

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)