首页 > 专题系列 > Java解POJ > POJ 2141 Message Decowding [解题报告] Java
2013
11-10

POJ 2141 Message Decowding [解题报告] Java

Message Decowding

问题描述 :

The cows are thrilled because they’ve just learned about encrypting messages. They think they will be able to use secret messages to plot meetings with cows on other farms.

Cows are not known for their intelligence. Their encryption method is nothing like DES or BlowFish or any of those really good secret coding methods. No, they are using a simple substitution cipher.

The cows have a decryption key and a secret message. Help them decode it. The key looks like this:

        yrwhsoujgcxqbativndfezmlpk

Which means that an ‘a’ in the secret message really means ‘y’; a ‘b’ in the secret message really means ‘r’; a ‘c’ decrypts to ‘w’; and so on. Blanks are not encrypted; they are simply kept in place.

Input text is in upper or lower case, both decrypt using the same decryption key, keeping the appropriate case, of course.

输入:

* Line 1: 26 lower case characters representing the decryption key

* Line 2: As many as 80 characters that are the message to be decoded

输出:

* Line 1: A single line that is the decoded message. It should have the same length as the second line of input.

样例输入:

eydbkmiqugjxlvtzpnwohracsf
Kifq oua zarxa suar bti yaagrj fa xtfgrj

样例输出:

Jump the fence when you seeing me coming

解题代码:

//* @author popop0p0popo
import java.util.*;
import java.io.*;

public class Main{
 public static void main(String[] args){
   Scanner scanner=new Scanner(new BufferedReader(new InputStreamReader(System.in)));
		String code=scanner.nextLine();
		String sent=scanner.nextLine();
		String decode="";
		for (int i=0;i< sent.length() ;i++ ){
			decode=decode+getChar(sent.charAt(i),code);
		}
		System.out.print(decode);
	}

	public static char getChar(char c,String code){
		if (c-'a'< 26&&c-'a'>=0){
			return Character.toLowerCase(code.charAt(c-'a'));
		}
		else if (c-'A'< 26&&c-'A'>=0){
			return Character.toUpperCase(code.charAt(c-'A'));
		}
		else{
			return c;
		}
	}
}

  1. 算法是程序的灵魂,算法分简单和复杂,如果不搞大数据类,程序员了解一下简单点的算法也是可以的,但是会算法的一定要会编程才行,程序员不一定要会算法,利于自己项目需要的可以简单了解。