题目描述
DD小朋友今年三年级,最近,声称设计了一套“超级密码”系统!
说实话,这套所谓的“超级密码”一点也不难:
对于一个给定的字符串,你只要提取其中的数字,然后连在一起构成一个整数,再乘以DD小朋友的幸运数字513,就是解密后的结果了~
比如,字符串“ads2d4,122”,提取后的整数是24122,然后乘以513,就能得到解密后的结果:12374586。
注:题目保证解密后的结果在32位整数范围。
输入格式
输入首先包括一个正整数N,表示有N组测试用例。
每组数据占一行,包含一个长度不超过30的字符串。
输出格式
请根据题目要求输出解密后的结果,每组数据输出一行。
输入样例
2
ads2d4,122
0023asdf2AA90
输出样例
12374586
11947770
JAVA代码实现 已AC
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for (int i = 0; i < n; i++) {
String s1 = sc.next();
System.out.println(getResult(s1));
}
}
public static int getResult(String s) {
StringBuilder sb = new StringBuilder();
for (int j = 0; j < s.length(); j++) {
char c = s.charAt(j);
if (c >= '0' && c <= '9') {
sb.append(c);
}
}
String s2 = sb.toString(); //把StringBuilder类转为String类
if (s2 != null && !s2.equals("")) { //判断该字符串不是空才能进行类型转换
int num = Integer.parseInt(s2); //把String类转为int类
return (num * 513);
}else
return 0;
}
}