题目描述
正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。
现给定A、DA、B、DB,请编写程序计算PA + PB。
输入描述:
输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0 < A, B < 1010。
输出描述:
在一行中输出PA + PB的值。
输入例子:
3862767 6 13530293 3
输出例子:
399
分析:关键在于取出的部分的值的获取
代码实现:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int da = scanner.nextInt();
int b = scanner.nextInt();
int db = scanner.nextInt();
int pa = getPartNum(a,da);
int pb = getPartNum(b,db);
System.out.println(pa+pb);
}
private static int getPartNum(int num, int d) {
int p = 0;
int count = 0;
StringBuffer sb = new StringBuffer();
while(num!=0){
if (num%10==d) {
count++;
}
num = num/10;
}
if (count>0) {
for(int i = 1;i<=count;i++){
sb.append(d);
}
p = Integer.parseInt(sb.toString());
}
return p;
}
}