poj 1002 java_poj1002题目用java描述

这是一个Java程序,用于解决POJ 1002问题,将字母形式的电话号码转换为数字形式,并统计每个数字组合出现的次数。程序读取输入的测试用例数量,然后逐个处理每个电话号码,将其转换为包含破折号的格式。遇到字母时,根据电话键盘的对应关系替换为数字。最后,程序会输出出现次数大于1的数字组合及其出现次数。
摘要由CSDN通过智能技术生成

importjava.util.*;publicclasstelephone1002{publicstaticvoidmain(Stringargs[]){Scannerconsole=newScanner(System.in);intt=console.nextInt();MapphoneMap=newH...

import java.util.*;

public class telephone1002

{

public static void main(String args[])

{

Scanner console=new Scanner(System.in);

int t=console.nextInt();

Map phoneMap=new HashMap();

String phone;

int num=0;

//String str;

for(int k=0;k

{

char key[]=new char[8];

phone=console.next();

//int start=0;

int end=phone.length()-1;

int j=0;

//for(int i=start;i<=end;i++)

int i=0;

while(i!=end)

{

if(j==3)

key[j]='-';

else

{

if(phone.charAt(i)=='A'||phone.charAt(i)=='B'||phone.charAt(i)=='C'||phone.charAt(i)=='2')

{

key[j]='2';

j++;

}

else if(phone.charAt(i)=='D'||phone.charAt(i)=='E'||phone.charAt(i)=='F'||phone.charAt(i)=='3')

{

key[j]='3';

j++;

}

else if(phone.charAt(i)=='G'||phone.charAt(i)=='H'||phone.charAt(i)=='I'||phone.charAt(i)=='4')

{

key[j]='4';

j++;

}

else if(phone.charAt(i)=='J'||phone.charAt(i)=='K'||phone.charAt(i)=='L'||phone.charAt(i)=='5')

{

key[j]='5';

j++;

}

else if(phone.charAt(i)=='M'||phone.charAt(i)=='N'||phone.charAt(i)=='O'||phone.charAt(i)=='6')

{

key[j]='6';

j++;

}

else if(phone.charAt(i)=='P'||phone.charAt(i)=='R'||phone.charAt(i)=='S'||phone.charAt(i)=='7')

{

key[j]='7';

j++;

}

else if(phone.charAt(i)=='T'||phone.charAt(i)=='U'||phone.charAt(i)=='V'||phone.charAt(i)=='8')

{

key[j]='8';

j++;

}

else if(phone.charAt(i)=='W'||phone.charAt(i)=='X'||phone.charAt(i)=='Y'||phone.charAt(i)=='9')

{

key[j]='9';

j++;

}

else if(phone.charAt(i)=='0')

{

key[j]='0';

j++;

}

else if(phone.charAt(i)=='1')

{

key[j]='1';

j++;

}

i++;

}

}

String str=new String(key);

if(phoneMap.containsKey(str))

{

num=phoneMap.get(str);

num++;

phoneMap.put(str, num);

}

else

phoneMap.put(str, 1);

//t--;

}

Collection nameSet=phoneMap.keySet();

for(String name: nameSet)

{

int ssn=phoneMap.get(name);

if(ssn>1)

System.out.println(name+' '+ssn);

}

}

}

为什么我输入之后他不出结果呢?

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值