旧键盘(简单难度)

简介: 旧键盘(简单难度)

题目概述(简单难度)

题目链接

旧键盘

思路与代码

思路展现

代码示例

import java.util.*;
public class Main {
    public static void func(String strExc,String strAct){
        //set1用于存放实际输入的值,也就是我们的strAct 
        HashSet<Character> set1 = new HashSet<>();
        //因为题目中说了要忽略小写,都为大写,所以用toUpperCase方法
        for(char c:strAct.toUpperCase().toCharArray()){
            set1.add(c);
        }
        //set2是为了避免重复设置的集合,主要存储最终要输出的元素.
        //set2主要存储最终要输出的值
        HashSet<Character> set2 = new HashSet<>();
        for(char c:strExc.toUpperCase().toCharArray()){
        //注意这里要进行两次判断,是因为假设只有判断set1当中的元素是否存在于c中的字符,此时结果会重复
            if(!set1.contains(c)&&!set2.contains(c)) {
                set2.add(c);
                System.out.print(c);
            }
        }
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //我们本来想要得到的输入的值
        String strExc = sc.nextLine();
        //最终实际输入的值
        String strAct = sc.nextLine();
        func(strExc,strAct);
  }
}

假设if(!set1.contains©&&!set2.contains©)这个判断语句中的第二个判断条件没有的话,会出现下面的错误:

我们会发现输出结果出现重复,主要原因是每次判断的时候没有去重,所以此时需要定义额外的set2集合去重.

相关文章
|
5月前
|
iOS开发 开发者
iOS 16 系统键盘修复问题之汇编层面模拟两次返回操作的实现如何解决
iOS 16 系统键盘修复问题之汇编层面模拟两次返回操作的实现如何解决
|
7月前
1033 旧键盘打字 (20 分)
1033 旧键盘打字 (20 分)
|
7月前
1029 旧键盘 (20 分)
1029 旧键盘 (20 分)
老旧笔记本磁盘总是显示100%如何解决
老旧笔记本磁盘总是显示100%如何解决
1061 1
|
Windows
【笔记本解决触摸板手势失效的办法】
【笔记本解决触摸板手势失效的办法】
365 1
【笔记本解决触摸板手势失效的办法】
|
JSON NoSQL Redis
逆转时间,起死回生——程序报错崩溃后,如何倒回到崩溃的位置?
逆转时间,起死回生——程序报错崩溃后,如何倒回到崩溃的位置?
107 0
PAT乙级(散列) PAT.B1033——旧键盘打字
PAT乙级(散列) PAT.B1033——旧键盘打字
91 0
|
测试技术
软件测试面试题:在多用户模式下你用LoadRunnner的哪个组件来回放脚本?
软件测试面试题:在多用户模式下你用LoadRunnner的哪个组件来回放脚本?
126 0
|
缓存 数据处理 异构计算
屏幕刷新机制简单问(没有代码,请放心享用)
周一好呀,今天给大家带来一点轻松简单的内容,没有代码,请享用~
307 0
屏幕刷新机制简单问(没有代码,请放心享用)
|
API 开发者 容器
面向键盘操作的半自动化解决方案
面向键盘操作的半自动化解决方案
面向键盘操作的半自动化解决方案