坏键盘打字,坏键盘对应的字符不会出现,给出期望输出和实际输出,英文字母只输出大小,列出肯定坏掉的键

import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

public class p4 {
    //坏键盘打字,坏的键盘对应的字符不会出现,
    // 给出期望输出和实际输出,英文字母只输出大写,列出肯定坏掉的键
    public static void main(String[] args) {
        Scanner scanner =new Scanner(System.in);
        String expected=scanner.nextLine();
        //一次读一行
        String actual=scanner.nextLine();
        //set 是实际打印出的字符,全部大写
        Set<Character>  set=new HashSet<>();
        //不区分大小写,(全转换成大写)
        char[] a=actual.toUpperCase().toCharArray();
        //String中有这个方法时全转换成大写的
        for(char ch:a){
            set.add(ch);
        }
        //拿着期望的值去set里面找,若set中不包含则改键是错误的
        char[] b=expected.toUpperCase().toCharArray();
        //记录已经打印过的坏键
        Set<Character> brokenKeys=new HashSet<>();
        for(char ch:b){
            if(!set.contains(ch)){
                //ch对应的键是坏的
                //System.out.println(ch);这样直接打印会打印出重复的坏键盘
                //在写一个set就行
                if(!brokenKeys.contains(ch)){
                    System.out.println(ch);
                    brokenKeys.add(ch);
                }
            }
        }
    }
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值