题目:
正整数 A 的“D A(为 1 位整数)部分”定义为由 A 中所有 D A 组成的新整数 P A。例如:给定 A=3862767,D A=6,则 A 的“6 部分”P A是 66,因为 A 中有 2 个 6。现给定 A、D A、B、D B,请编写程序计算 P A+P B 。
代码实现:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
String str[]=new String[4];
//输入四个数
for(int i=0;i<str.length;i++){
//由于输入由空格断开
str[i]=input.next();
}
//得到新数pa
int pa=get(str,0,1);
//得到新数pb
int pb=get(str,2,3);
System.out.println(pa+pb);
}
public static int get(String str[],int a,int b){
//计数,看数字出现了多少次
int count=0;
String pa=str[b];
//得到新数
for(int i=0;i<str[a].length();i++){
if(str[a].charAt(i)==str[b].charAt(0)) count++;
}
//如果没有匹配到新数则为零
if(count==0) return 0;
//匹配到则为DA/DB的几倍
else{
for(int i=0;i<count-1;i++){
pa +=str[b];
}
int paa=Integer.parseInt(pa);
return paa;
}
}
}
输入样例和输出结果