北大acm 1002 求救

混少年 2011-03-26 12:53:14
网上提供的java源代码 1002题
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.IOException;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeMap;
public class Main {

public static char getNum(char c) {
if (Character.isDigit(c)) {
return c;
}
if (c == 'A' || c == 'B' || c == 'C') {
return '2';
}
if (c == 'D' || c == 'E' || c == 'F') {
return '3';
}
if (c == 'G' || c == 'H' || c == 'I') {
return '4';
}
if (c == 'J' || c == 'K' || c == 'L') {
return '5';
}
if (c == 'M' || c == 'N' || c == 'O') {
return '6';
}
if (c == 'P' || c == 'R' || c == 'S') {
return '7';
}
if (c == 'T' || c == 'U' || c == 'V') {
return '8';
}
if (c == 'W' || c == 'X' || c == 'Y') {
return '9';
}
return '#';
}

public static void main(String[] args) throws IOException {
DataInputStream scan = new DataInputStream(new BufferedInputStream(System.in));
Map< String, Integer> tm = new TreeMap();
int n = Integer.parseInt(scan.readLine().trim());
for (int i = 0; i < n; i++) {
String s = scan.readLine().replace("-", "");
StringBuilder sb = new StringBuilder();
for (int k = 0; k < s.length(); k++) {
char c = getNum(s.charAt(k));
if (Character.isDigit(c)) {
sb.append(c);
}
}
String result = sb.toString().substring(0, 3) + '-' + sb.toString().substring(3);
if (tm.containsKey(result)) {
int count = tm.get(result) + 1;
tm.put(result, count);
} else {
tm.put(result, 1);
}
}
Set se = tm.keySet();
Iterator it = se.iterator();
boolean flag = false;
while (it.hasNext()) {
String s = it.next().toString();
int count = tm.get(s);
if (count > 1) {
flag = true;
System.out.println(s + " " + count);
}
}
if (!flag) {
System.out.println("No duplicates. ");
}
}
}
编译提示出错
DataInputStream scan = new DataInputStream(new BufferedInputStream(System.in));
此类 在jdk5.0中已经被弃用 敢问高手怎么修改才好
...全文
87 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zqfddqr 2011-03-26
  • 打赏
  • 举报
回复


import java.io.IOException;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeMap;

public class acm1002 {

public static char getNum(char c) {
if (Character.isDigit(c)) {
return c;
}
if (c == 'A' || c == 'B' || c == 'C') {
return '2';
}
if (c == 'D' || c == 'E' || c == 'F') {
return '3';
}
if (c == 'G' || c == 'H' || c == 'I') {
return '4';
}
if (c == 'J' || c == 'K' || c == 'L') {
return '5';
}
if (c == 'M' || c == 'N' || c == 'O') {
return '6';
}
if (c == 'P' || c == 'R' || c == 'S') {
return '7';
}
if (c == 'T' || c == 'U' || c == 'V') {
return '8';
}
if (c == 'W' || c == 'X' || c == 'Y') {
return '9';
}
return '#';
}

public static void main(String[] args) throws IOException {
//修改的开始
Scanner reader = new Scanner(System.in);

Map<String, Integer> tm = new TreeMap();
int n = Integer.parseInt(reader.next().trim());
for (int i = 0; i < n; i++) {
String s = reader.next().replace("-", "");

//修改的结束
StringBuilder sb = new StringBuilder();
for (int k = 0; k < s.length(); k++) {
char c = getNum(s.charAt(k));
if (Character.isDigit(c)) {
sb.append(c);
}
}
String result = sb.toString().substring(0, 3) + '-' + sb.toString().substring(3);
if (tm.containsKey(result)) {
int count = tm.get(result) + 1;
tm.put(result, count);
} else {
tm.put(result, 1);
}
}
Set se = tm.keySet();
Iterator it = se.iterator();
boolean flag = false;
while (it.hasNext()) {
String s = it.next().toString();
int count = tm.get(s);
if (count > 1) {
flag = true;
System.out.println(s + " " + count);
}
}
if (!flag) {
System.out.println("No duplicates. ");
}
}
}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧