(字符串的处理4.7.13)POJ 2141 Message Decowding(字符串的加密与解密&&所有都是字符且是2行形式的输入输出处理)

2014-11-24 08:51:46 · 作者: · 浏览: 0
package com.njupt.acm;  
  
import java.util.Arrays;  
import java.util.Scanner;  
  
public class POJ_2141 {  
    public static void main(String[] args) {  
        Scanner scanner = new Scanner(System.in);  
          
        while(scanner.hasNextLine()){  
            String str = scanner.nextLine();  
            str = str.trim();  
            if(str.length() == 0){  
                break;  
            }  
              
            char keys[] = str.toCharArray();//将密钥转化成数组,keys[0] = 'f'表示的是,在这条密钥中a对应的是f  
            String text = scanner.nextLine();  
              
            text = text.trim();  
            int len = text.length();  
              
            int i;  
            for(i = 0 ; i < len ; ++i){  
                //需要注意的是 Character.isAlphabetic(codePoint)提交时OJ或许无法识别  
                if( Character.isUpperCase(text.charAt(i))){//Character.isUpperCase(ch)用于判断一个字符是否是大写  
                    System.out.print((char)(keys[text.charAt(i) - 'A'] -'a' + 'A' ));  
                }else if( Character.isLowerCase(text.charAt(i))){  
                    System.out.print(keys[text.charAt(i) - 'a']);  
                }else{  
                    System.out.print(text.charAt(i));  
                }  
            }  
              
            System.out.println();  
        }  
    }  
}