java 如何计算数据库_java – 如何在我的数据库中计算这些变量?

请参阅下面的解决方案.您提供的测试文件test1.txt似乎在文件开头有一些特殊的字符.

.

public class Test {

public static void main(String[] args) throws IOException {

Test test = new Test();

test.execute();

}

private static String TYPE_XTSM = "XTSM";

private static String TYPE_XTS = "XTS";

private static String TYPE_XRX = "XRX";

private static String TYPE_XHAN = "XHAN";

private void execute() throws IOException {

InputStream in = null;

BufferedReader br = null;

TreeMap> xtsmMap = new TreeMap>();

try {

in = Test.class.getResourceAsStream("test1.txt");

br = new BufferedReader(new InputStreamReader(in));

String line;

while ((line = br.readLine()) != null) {

Record rec = new Record(line);

processRecord(xtsmMap, rec);

}

} finally {

if (br != null) {

br.close();

}

}

printResults(xtsmMap);

}

private void processRecord(

TreeMap> xtsmMap, Record rec) {

TreeMap xtsMap;

if (xtsmMap.containsKey(rec.getXtsm())) {

xtsMap = xtsmMap.get(rec.getXtsm());

} else {

xtsMap = new TreeMap();

xtsmMap.put(Integer.valueOf(rec.getXtsm()), xtsMap);

}

if (xtsMap.containsKey(rec.getXts())) {

Integer count = xtsMap.get(rec.getXts());

xtsMap.put(Integer.valueOf(rec.getXts()), Integer.valueOf(count

.intValue() + 1));

} else {

xtsMap.put(Integer.valueOf(rec.getXts()), Integer.valueOf(1));

}

}

private void printResults(

TreeMap> xtsmMap) {

System.out.println("Type\t\tTotal");

Set xtsmSet = xtsmMap.navigableKeySet();

for (Integer xtsm : xtsmSet) {

TreeMap xtsMap = xtsmMap.get(xtsm);

Set xtsSet = xtsMap.navigableKeySet();

for (Integer xts : xtsSet) {

Integer count = xtsMap.get(xts);

String outputLine = TYPE_XTSM + ":" + xtsm + "/" + TYPE_XTS

+ ":" + xts + "\t" + count;

System.out.println(outputLine);

}

}

}

private static class Record {

private Integer xtsm, xts, xrk, xhan;

Record(String line) {

StringTokenizer st = new StringTokenizer(line, "/");

while (st.hasMoreTokens()) {

String token = st.nextToken();

String type = token.substring(0, token.indexOf(":"));

String valueStr = token.substring(token.indexOf(":") + 1, token

.length());

Integer value = Integer.valueOf(valueStr);

if (TYPE_XTSM.equals(type)) {

xtsm = value;

} else if (TYPE_XTS.equals(type)) {

xts = value;

} else if (TYPE_XRX.equals(type)) {

xrk = value;

} else if (TYPE_XHAN.equals(type)) {

xhan = value;

}

}

}

public Integer getXtsm() {

return xtsm;

}

public Integer getXts() {

return xts;

}

public Integer getXrk() {

return xrk;

}

public Integer getXhan() {

return xhan;

}

}

}

.

产量

Type Total

XTSM:0/XTS:0 29

XTSM:0/XTS:1 29

XTSM:0/XTS:2 29

XTSM:1/XTS:0 29

XTSM:1/XTS:1 29

XTSM:1/XTS:2 29

XTSM:2/XTS:0 29

XTSM:2/XTS:1 29

XTSM:2/XTS:2 29

XTSM:3/XTS:0 14

XTSM:3/XTS:1 14

XTSM:3/XTS:2 14

XTSM:4/XTS:0 13

XTSM:4/XTS:1 13

XTSM:4/XTS:2 13

XTSM:5/XTS:0 14

XTSM:5/XTS:1 14

XTSM:5/XTS:2 14

XTSM:6/XTS:0 21

XTSM:6/XTS:1 21

XTSM:6/XTS:2 21

XTSM:7/XTS:0 29

XTSM:7/XTS:1 29

XTSM:7/XTS:2 29

XTSM:8/XTS:0 14

XTSM:8/XTS:1 21

XTSM:9/XTS:0 21

XTSM:9/XTS:1 21

XTSM:9/XTS:2 21

XTSM:10/XTS:0 14

XTSM:10/XTS:1 14

XTSM:10/XTS:2 14

XTSM:11/XTS:0 14

XTSM:11/XTS:1 14

XTSM:11/XTS:2 14

XTSM:12/XTS:0 14

XTSM:12/XTS:1 14

XTSM:12/XTS:2 14

XTSM:13/XTS:0 29

XTSM:13/XTS:1 29

XTSM:13/XTS:2 29

XTSM:14/XTS:0 29

XTSM:14/XTS:1 29

XTSM:15/XTS:0 29

XTSM:15/XTS:1 29

XTSM:15/XTS:2 29

XTSM:16/XTS:0 29

XTSM:16/XTS:1 29

XTSM:16/XTS:2 29

XTSM:17/XTS:0 29

XTSM:17/XTS:1 29

XTSM:17/XTS:2 29

XTSM:18/XTS:0 29

XTSM:18/XTS:1 29

XTSM:18/XTS:2 29

XTSM:19/XTS:0 29

XTSM:19/XTS:1 29

XTSM:19/XTS:2 29

XTSM:21/XTS:0 29

XTSM:21/XTS:1 29

XTSM:21/XTS:2 29

XTSM:22/XTS:0 29

XTSM:22/XTS:1 29

XTSM:22/XTS:2 29

XTSM:23/XTS:0 29

XTSM:23/XTS:1 29

XTSM:23/XTS:2 29

XTSM:24/XTS:0 29

XTSM:24/XTS:1 29

XTSM:24/XTS:2 29

XTSM:25/XTS:0 29

XTSM:25/XTS:1 29

XTSM:25/XTS:2 29

XTSM:26/XTS:0 14

XTSM:26/XTS:1 14

XTSM:26/XTS:2 14

XTSM:28/XTS:0 15

XTSM:28/XTS:1 15

XTSM:28/XTS:2 15

XTSM:29/XTS:0 13

XTSM:29/XTS:1 13

XTSM:29/XTS:2 13

XTSM:30/XTS:0 14

XTSM:30/XTS:1 14

XTSM:31/XTS:0 14

XTSM:31/XTS:1 13

XTSM:31/XTS:2 13

XTSM:32/XTS:0 13

XTSM:32/XTS:1 14

XTSM:32/XTS:2 13

XTSM:33/XTS:0 14

XTSM:33/XTS:1 14

XTSM:33/XTS:2 14

XTSM:34/XTS:0 14

XTSM:34/XTS:1 14

XTSM:34/XTS:2 14

XTSM:35/XTS:0 29

XTSM:35/XTS:1 29

XTSM:35/XTS:2 29

XTSM:36/XTS:0 29

XTSM:36/XTS:1 21

XTSM:36/XTS:2 21

XTSM:37/XTS:0 14

XTSM:37/XTS:1 14

XTSM:37/XTS:2 14

XTSM:38/XTS:0 14

XTSM:38/XTS:1 14

XTSM:38/XTS:2 14

XTSM:39/XTS:0 21

XTSM:39/XTS:1 21

XTSM:39/XTS:2 21

XTSM:40/XTS:0 29

XTSM:40/XTS:1 29

XTSM:40/XTS:2 7

XTSM:41/XTS:0 29

XTSM:41/XTS:1 29

XTSM:41/XTS:2 29

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值