PTA 程序设计天梯赛 Java L1-011 A-B (20分)

L1-011 A-B

本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。

输入格式:
输入在2行中先后给出字符串A和B。两字符串的长度都不超过10​4,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。

输出格式:
在一行中打印出A−B的结果字符串。

输入样例:

I love GPLT!  It's a fun game!
aeiou

输出样例:

I lv GPLT!  It's  fn gm!

实现代码

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class Main {
    
    
   public static void main(String[] args) {
    
    
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        try {
    
    
            String strMain = bf.readLine(); //主串
            String[] strMains = strMain.split("");
            char[] strMainChars = strMain.toCharArray(); //将主串转成字符数组
            char[] strPatternChars =  bf.readLine().toCharArray();
            // 输入和处理完毕 开始计算

            List<Integer> indexList = new ArrayList<>(); //存储下标
            
            for (int i = 0; i < strPatternChars.length; i++) {
    
    
                for (int j = 0; j < strMainChars.length; j++) {
    
    
                    if (indexList.contains(j)) continue;
                    if (strMainChars[j] == strPatternChars[i]){
    
    
                        indexList.add(j);
                    }
                }
            }
            //得到下表后,修改strMains字符串数组
            for (int j = 0; j < indexList.size(); j++) {
    
    
                strMains[indexList.get(j)] = "";
            }

            //[拼接字符串数组 strMains
            System.out.println(join(strMains,""));

        } catch (IOException e) {
    
    
            e.printStackTrace();
        }
    }

    /**
     * 拼接
     * @param obj
     * @param reg
     * @return
     */
    public static String join(String[] obj ,String reg){
    
    
        String str = "";
        for (int i = 0; i < obj.length; i++) {
    
    
            str += obj[i];
            if (i == obj.length-1) continue;
            str += reg;
        }
        return str;
    }
}

猜你喜欢

转载自blog.csdn.net/qq_37079157/article/details/109275815