1033.旧キーボードタイピング(20)---(テストポイント4運転タイムアウト@@!!)

1433 ワード

古いキーボードにいくつかのキーが壊れているので、文字を叩くと対応する文字が現れません.入力すべき文字と、壊れたキーを与えて、文字はどうなりますか?
入力形式:
2行にそれぞれ壊れたキーと、入力すべき文字を入力します.ここで、英語のアルファベットに対応する悪いキーは大文字で与えられる.各セグメントの文字は105文字以下の列です.使用可能な文字には、アルファベット[a-z,A-Z]、数字0-9、および下線""が含まれます.(スペースを表す)、「,」、「.」、「-」、「+」(上位キーを表す).タイトルは2行目に入力された文字列が空でないことを保証します.
注意:上段キーが壊れていると、大文字の英字は打てません.
出力フォーマット:
1行に打出可能な結果文字を出力します.文字が1文字も打てない場合は空行を出力します.
サンプルを入力:
7+IE.
7_This_is_a_test.

出力サンプル:
_hs_s_a_tst
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		String key = input.nextLine();
		String message = input.nextLine();
		input.close();
		boolean isShiftbad = false;
		String badkey = "";

		for (int i = 0; i < key.length(); i++) {
			char c = Character.toLowerCase(key.charAt(i));
			if (c == '+') {
				isShiftbad = true;
			}
			badkey += c;

		}
		if (isShiftbad) { //        
			for (int i = 0; i < message.length(); i++) {
				if (badkey.indexOf(message.charAt(i)) != -1 || Character.isUpperCase(message.charAt(i))) {//     
					continue;
				}
				System.out.print(message.charAt(i));
			}

		} else { //     
			for (int i = 0; i < message.length(); i++) {
				if (badkey.indexOf(message.charAt(i)) != -1) {//     
					continue;
				}
				System.out.print(message.charAt(i));
			}

		}
	}

}