java解决pat乙级练习题1029.旧键盘
来源:互联网 发布:淘宝网小虫米子 编辑:程序博客网 时间:2024/06/04 18:21
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。
输入格式:
输入在2行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过80个字符的串,由字母A-Z(包括大、小写)、数字0-9、以及下划线“_”(代表空格)组成。题目保证2个字符串均非空。
输出格式:
按照发现顺序,在一行中输出坏掉的键。其中英文字母只输出大写,每个坏键只输出一次。题目保证至少有1个坏键。
输入样例:
7_This_is_a_test
_hs_s_a_es
输出样例:
7TI
思路:
1.将输入的两个字符串,都转化为字符list,再将第一个字符list1中含有第二个字符list2中的字符删除。
2.将list2清空,再将list1中重复的字符删掉,转化成大写字母,并赋给list2,最后将list2转化成字符串输出。
代码如下:
import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.Scanner;public class Main{ public static void main(String [] args){ Scanner r = new Scanner(System.in); char[] begin = r.next().toCharArray(); char[] end = r.next().toCharArray(); String result = ""; List<Character> list1 = new ArrayList<Character>(); List<Character> list2 = new ArrayList<Character>(); for(char m : begin) { list1.add(m); } for(char n : end) { list2.add(n); } list1.removeAll(list2);//将list1中含有list2字符的全部删除。 list2.clear(); for(char s: list1){ if(s <= 'z' && s >= 'a') s = (char)(s - 32); if(Collections.frequency(list2, s) == 0) //重点知识,可以检测list中是否含重复字符。 { list2.add(s); } } for(int i = 0; i < list2.size(); i++) { result += list2.get(i).toString(); } System.out.print(result); }}
其中,Collections.frequency(list2, s) == 0 的原型函数为:
public static int frequency(Collection<?> c, Object o) { int result = 0; if (o == null) { for (Object e : c) if (e == null) result++; } else { for (Object e : c) if (o.equals(e)) result++; } return result; }
本人才疏学浅,如有疑问或改进,欢迎提出。
阅读全文
0 0
- java解决pat乙级练习题1029.旧键盘
- PAT乙级练习题B1029. 旧键盘
- PAT乙级练习题B1033. 旧键盘打字
- PAT 乙级 1029.旧键盘
- [PAT-乙级]1029.旧键盘
- PAT 乙级 1029. 旧键盘(20) Java版
- PAT-乙级-1029. 旧键盘(20)
- PAT乙级.1029. 旧键盘(20)
- PAT 乙级 1029. 旧键盘(20)
- 1029. 旧键盘(20)-PAT乙级
- PAT 乙级 1029. 旧键盘(20)
- PAT乙级 1029. 旧键盘(20)
- PAT乙级1029. 旧键盘(20)
- PAT 乙级 1029. 旧键盘(20)
- PAT乙级 1029. 旧键盘(20)
- [PAT乙级]1029. 旧键盘(20)
- pat 乙级 1029. 旧键盘(20)
- 1029. 旧键盘(20)--PAT乙级
- oracle查询(select)
- html5的音频播放
- Properties类
- UML14种图概述
- RO段、RW段、ZI段
- java解决pat乙级练习题1029.旧键盘
- 搜索引擎solr(一)--安装及基本使用
- 多重背包模板题 背包问题V2
- python 试题:简述Python是如何进行内存管理的?
- RTOS任务
- XX和OO
- dubbo常用配置总结
- this's tip
- unity3d 基础 2017.9.17