输入在2行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过10^5个字符的串。可用的字符包括字母[a-z, A-Z]、数字0-9、以及下划线“_”(代表空格)、“,”、“.”、“-”、“+”(代表上档键)。题目保证第2行输入的文字串非空。 注意:如果上档键坏掉了,那么大写的英文字母无法被打出。
在一行中输出能够被打出的结果文字。如果没有一个字符能被打出,则输出空行。
7+IE. 7_This_is_a_test.
_hs_s_a_tst
import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s1=sc.next().toLowerCase(); String s2=sc.next(); char[] a2=s2.toCharArray(); ArrayList<Character> list=new ArrayList<>(); for (int i = 0; i < a2.length; i++) { String s=String.valueOf(a2[i]); if (!s1.contains(s)) { list.add(a2[i]); } } for (int i = 0; i < list.size(); i++) { while(list.get(i)>='A'&&list.get(i)<='Z') { list.remove(i); } } for (Character c : list) { System.out.print(c); } } }
import java.util.*; public class Main{ public static void main(String [] args){ Scanner sc = new Scanner(System.in); String str1 = sc.next(); String str2 = sc.next(); char ch; boolean flag = false; HashSet<Character> set = new HashSet<Character>(); for (int i = 0; i < str1.length(); i++) { ch = str1.charAt(i); if(ch == '+')flag = true; else if((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))set.add((char)(ch ^ 32)); set.add(ch); // 这里把大小写都放进去,因为键盘坏了,大小写都不能出现 } StringBuffer sb = new StringBuffer(); for(int i = 0; i < str2.length(); i++){ ch = str2.charAt(i); if(!set.contains(ch)){ if(flag && (ch >= 'A' && ch <= 'Z')) continue; sb.append(ch); } } System.out.println(sb.toString()); } }
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); String badKeys = bufferedReader.readLine(); String text = bufferedReader.readLine(); if(badKeys.indexOf('+') != -1) { text = text.replaceAll("[A-Z]", ""); } if(badKeys.indexOf('-') != -1) { text = text.replaceAll("[-]", ""); badKeys = badKeys.replaceAll("[-]", ""); } final String regexBadKeys = "[" + badKeys + "]|[" + badKeys.toLowerCase() + "]"; text = text.replaceAll(regexBadKeys, ""); System.out.println(text); } }
public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); String badStr = sc.next(); String allStr = sc.next(); sc.close(); for(int i=0;i<badStr.length();i++){ if(contain(allStr,badStr.charAt(i))){ char chr = badStr.charAt(i); //除去坏键字母 allStr = allStr.replace(String.valueOf(chr), ""); allStr = allStr.replace(String.valueOf(Character.toLowerCase(chr)), ""); }else if(contain(badStr,'+')){ allStr = allStr.replaceAll("[A-Z]+", "");//除去大写字母 } } System.out.println(allStr); } static boolean contain(String str,char c){ //判断字符串中是否包含坏键 boolean flag = false; c = Character.toUpperCase(c); for(int i=0;i<str.length();i++){ char chr = Character.toUpperCase(str.charAt(i)); if(c==chr) flag = true; } return flag; }
}
importjava.util.ArrayList;importjava.util.List;importjava.util.Scanner;publicclassMain {publicstaticvoidmain(String[] args){List list = newArrayList();Scanner in = newScanner(System.in);char[] bad = in.nextLine().toCharArray();char[] fact = in.nextLine().toCharArray();booleanupCheck = true;//默认 + 号没有坏for(inti = 0; i < bad.length; i++){if(!list.contains(bad[i])){list.add(bad[i]);if('Z'-bad[i] <=26&& 'Z'-bad[i] >=0)list.add((char)((int)bad[i]+32));}}if(list.contains('+')) upCheck = false;for(inti = 0; i < fact.length; i++){if(upCheck){if(!list.contains(fact[i])){System.out.print(fact[i]);}}else{if(!list.contains(fact[i]) && !('Z'-fact[i] <=26&& 'Z'-fact[i] >=0)){System.out.print(fact[i]);}}}}}