poj 1002 java_poj 1002 Java

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

import java.util.TreeSet;

public class Main {

static public char returnValue(char c) {

if (c <= 67 && c >= 65) {

return '2';

} else if (c <= 70 && c >= 68) {

return '3';

} else if (c <= 73 && c >= 71) {

return '4';

} else if (c <= 76 && c >= 74) {

return '5';

} else if (c <= 79 && c >= 77) {

return '6';

} else if (c <= 83 && c >= 80) {

return '7';

} else if (c <= 86 && c >= 84) {

return '8';

} else if (c <= 89 && c >= 87) {

return '9';

} else {

return '0';

}

}

public static String parse(String str) {

String temp = "";

for (int j = 0; j < str.length(); j++) {

if (str.charAt(j) == '-') {

continue;

} else {

char t = str.charAt(j);

if (t >= '0' && t <= '9') {

temp += t;

} else {

temp += returnValue(t);

}

}

}

return temp;

}

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

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

Map m = new HashMap();

int ncase = Integer.parseInt(in.readLine());

while (ncase-- != 0) {

String str = in.readLine();

/*此方法太耗时,不可用

* str = str.replaceAll("-", "").replaceAll("[ABC]", "2")

* .replaceAll("[DEF]", "3").replaceAll("[GHI]", "4")

* .replaceAll("[JKL]", "5").replaceAll("[MNO]", "6")

* .replaceAll("[PRS]", "7").replaceAll("[TUV]", "8")

* .replaceAll("[WXY]", "9");

*/

str = parse(str);

Integer times = m.get(str);

m.put(str, times == null ? 1 : times + 1);

}

Set keys = new TreeSet(m.keySet());

boolean hasOutput = false;

for (Iterator it = keys.iterator(); it.hasNext();) {

String key = it.next();

if (m.get(key) > 1) {

hasOutput = true;

System.out.println(key.substring(0, 3) + "-"

+ key.substring(3, 7) + " " + m.get(key));

}

}

if (!hasOutput) {

System.out.println("No duplicates.");

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值