1. 程式人生 > >PAT——1029. 舊鍵盤

PAT——1029. 舊鍵盤

下劃線 color http 大寫 iss main 一段 for 格式

舊鍵盤上壞了幾個鍵,於是在敲一段文字的時候,對應的字符就不會出現。現在給出應該輸入的一段文字、以及實際被輸入的文字,請你列出肯定壞掉的那些鍵。

輸入格式:

輸入在2行中分別給出應該輸入的文字、以及實際被輸入的文字。每段文字是不超過80個字符的串,由字母A-Z(包括大、小寫)、數字0-9、以及下劃線“_”(代表空格)組成。題目保證2個字符串均非空。

輸出格式:

按照發現順序,在一行中輸出壞掉的鍵。其中英文字母只輸出大寫,每個壞鍵只輸出一次。題目保證至少有1個壞鍵。

輸入樣例:

7_This_is_a_test
_hs_s_a_es

輸出樣例:

7TI

 1 package com.hone.basical;
2 3 import java.util.ArrayList; 4 import java.util.List; 5 import java.util.Scanner; 6 7 /** 8 * 原題目:https://www.patest.cn/contests/pat-b-practise/1029 9 * @author Xia 10 * 其實這裏面List<Character> miss = new ArrayList<>();可以不需要,直接輸出即可。 11 */ 12 public class basicalLevel1029oldKeyBoard{
13 public static void main(String[] args) { 14 Scanner s = new Scanner(System.in); 15 String text = s.nextLine(); 16 String actureText = s.nextLine(); 17 List<Character> miss = new ArrayList<>(); 18 int j = 0; 19 int i = 0; 20 char
k; 21 while(i < text.length()) { 22 if ((j<actureText.length())&&text.charAt(i) == actureText.charAt(j)) { 23 j++; 24 i++; 25 }else {//如果對應的不相同,則仍需要判斷是否字符是否是小寫字母 26 if (text.charAt(i)>=‘a‘&&text.charAt(i)<=‘z‘) { 27 k =Character.toUpperCase(text.charAt(i)); 28 if (!miss.contains(k)) 29 miss.add(k); 30 }else { //如果不是小寫字母則直接添加到miss中 31 k = text.charAt(i); 32 if (!miss.contains(k)) 33 miss.add(k); 34 } 35 i++; 36 } 37 } 38 for (int k2 = 0; k2 < miss.size(); k2++) { 39 System.out.print(miss.get(k2)); 40 } 41 42 } 43 }



PAT——1029. 舊鍵盤