题目描述
-
手机号有11位,同时校园内的同学都知道有手机短号(资费很实惠),手机号短号都是6+手机号后5位,比如:13512345678的手机短号对应为:645678。
-
如果多个手机号的后5位相同,则多个重复号码中后续的短号为000000提示管理人员进行处理。
-
要求根据手机号,输出对应短号!
样例输入:
2
13512345678
13787654321
注意:2为输入个数
样例输出:
645678
654321
提示:
对应重复号码的处理:
输入:
3
13758887173
13858887173
12345678910
将输出:
687173
000000
678910
代码
import java.util.ArrayList;
import java.util.Scanner;
public class MyTest12 {
public static void main(String[] args) {
// 多行输入
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
ArrayList<String> phone = new ArrayList<>();
while (true){
Scanner sc1 = new Scanner(System.in);
String phone_num = sc1.nextLine();
phone.add(phone_num);
if (phone.size()==num){
break;
}
}
// 判断尾号后5位是否相同
for (int i = 1; i <phone.size() ; i++) {
String now = phone.get(i).substring(phone.get(i).length()-5);
// System.out.println(now);
for (int j = 0; j <i; j++) {
boolean flag=phone.get(j).substring(phone.get(j).length()-5).equals(now);
if (flag){
String qian=phone.get(i).substring(0,phone.get(i).length()-5);
StringBuffer stringBuffer = new StringBuffer(qian);
stringBuffer.append("00000");
phone.set(i,stringBuffer.toString());
// System.out.println(phone);
}
}
}
// 短号
for (int i = 0; i <phone.size(); i++) {
String phoneNum = phone.get(i);
String shortNum = shortNum(phoneNum);
System.out.println(shortNum);
}
}
private static String shortNum(String num){
String numShort = num.substring(num.length() - 5);
String shortNum;
if (numShort.equals("00000")){
shortNum="0".concat(numShort);
}else{
shortNum="6".concat(numShort);
}
// System.out.println(shortNum);
return shortNum;
}
}