【Java】PAT(Basic Level) 1016 部分A+B

前言

这道题很简单,轻松搞定!

题目

1016 部分A+B

作者 CHEN, Yue

单位 浙江大学

正整数 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

输出格式:

在一行中输出 PA​+PB​ 的值。

输入样例 1:

3862767 6 13530293 3

输出样例 1:

399

输入样例 2:

3862767 1 13530293 8

输出样例 2:

0

代码

import java.io.*;
class Main{
    public static void main(String[] args) throws IOException{
        //接收输入
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));   //获取字符输入流
        String[] strArr = br.readLine().split(" +");        //读取输入的一行信息,以空格为间隔切割后存储到数组中
        //声明变量
        int t = 0;                                          //临时变量
        int a = Integer.parseInt(strArr[0]);                //待测数字a
        int b = Integer.parseInt(strArr[2]);                //待测数字b
        int da = Integer.parseInt(strArr[1]);                //要计数的某个数字
        int db = Integer.parseInt(strArr[3]);                //要计数的某个数字
        int pa=0, pb=0, sum=0;                               //pa为数字da在a中出现的次数,pb同理,sum=pa+pb
        //计算
        for(;a!=0;a=a/10){      //遍历数字a的每一位
            t = a % 10;         //取当前a的个位数字
            if(t==da)           //若是要计数的目标数字
                pa = pa*10 + da;           //更新pa的值
        }
        for(;b!=0;b=b/10){      //计算pb
            t = b % 10;         //取当前b的个位数字
            if(t==db)           //若是要计数的目标数字
                pb = pb*10 + db;           //更新pb的值
        }
        sum = pa + pb;
        //输出
        System.out.print(sum);

    }
}

你可能感兴趣的:(Java,学习,java,pat考试,算法)