PTA乙级1033
1033
舊鍵盤上壞了幾個鍵,于是在敲一段文字的時候,對應(yīng)的字符就不會出現(xiàn)。現(xiàn)在給出應(yīng)該輸入的一段文字、以及壞掉的那些鍵,打出的結(jié)果文字會是怎樣?
輸入格式:
輸入在 2 行中分別給出壞掉的那些鍵、以及應(yīng)該輸入的文字。其中對應(yīng)英文字母的壞鍵以大寫給出;每段文字是不超過 10
?5
?? 個字符的串。可用的字符包括字母 [a-z, A-Z]、數(shù)字 0-9、以及下劃線 _(代表空格)、,、.、-、+(代表上檔鍵)。題目保證第 2 行輸入的文字串非空。
注意:如果上檔鍵壞掉了,那么大寫的英文字母無法被打出。
輸出格式:
在一行中輸出能夠被打出的結(jié)果文字。如果沒有一個字符能被打出,則輸出空行。
輸入樣例:
7+IE.
7_This_is_a_test.
輸出樣例:
_hs_s_a_tst
思路一開始剛看到這題時那個代表上檔鍵的我以為時前四個字符都是于是就多判斷了一些,后來看了別人的理解才知道就只有+號,然后只要先根據(jù)是否有+號刪去所有大寫字母然后進(jìn)行判斷就行了,其中因為要輸出下劃線,所以修改字符串時用StringBuilder或StringBuffer.
代碼:
package test1;import java.util.Arrays; import java.util.Scanner;public class PTA1033 {public static void main(String[] args) {Scanner in=new Scanner(System.in);String[] error=in.nextLine().split("");String[] put=in.nextLine().split("");StringBuilder l=new StringBuilder();if(Arrays.toString(error).contains("+")) {String p= Arrays.toString(put).replaceAll("[A-Z]", "");//替換掉所有大寫字母StringBuilder m=new StringBuilder();m.append(p);String[] m0=m.toString().split("");for (int i = 0; i < m0.length; i++) {if(!Arrays.toString(error).toLowerCase().contains(m0[i].toLowerCase())){//判斷是否包含壞掉的按鍵l.append(m0[i]);}}System.out.println(l);}else {for (int i = 0; i < put.length; i++) {if(!Arrays.toString(error).toLowerCase().contains(put[i].toLowerCase())){l.append(put[i]);}}System.out.println(l);}} }運行結(jié)果:
7+XIMK
7_sid_mL_Djdis
_sd__jds
總結(jié)
- 上一篇: 服务器无法取消指令方块显示,我的世界服务
- 下一篇: 干货-Google支付后台验证操作流程【