Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public abstract class ConvertisseurMorse extends Convertisseur {
- /**
- * Initialisation de la table de codage
- */
- protected static final HashMap<Character, String> table = new HashMap<Character, String>();
- static {
- table.put(' ', " ");
- table.put('a', ".-");
- table.put('b', "-...");
- table.put('c', "-.-.");
- table.put('d', "-..");
- table.put('e', ".");
- table.put('f', "..-.");
- table.put('g', "--.");
- table.put('h', "....");
- table.put('i', "..");
- table.put('j', ".---");
- table.put('k', "-.-");
- table.put('l', ".-..");
- table.put('m', "--");
- table.put('n', "-.");
- table.put('o', "---");
- table.put('p', ".--.");
- table.put('q', "--.-");
- table.put('r', ".-.");
- table.put('s', "...");
- table.put('t', "-");
- table.put('u', "..-");
- table.put('v', "...-");
- table.put('w', ".--");
- table.put('x', "-..-");
- table.put('y', "-.--");
- table.put('z', "--..");
- table.put('0', "-----");
- table.put('1', ".----");
- table.put('2', "..---");
- table.put('3', "...--");
- table.put('4', "....-");
- table.put('5', ".....");
- table.put('6', "-....");
- table.put('7', "--...");
- table.put('8', "---..");
- table.put('9', "----.");
- }
- }
- class EncodeurMorseConvertisseur extends ConvertisseurMorse {
- /**
- * Conversion Alphabet -> Morse
- * @param donnees
- * @return
- */
- @Override
- public String convertir(String donnees) {
- String resultat="";
- for (int i=0; i<donnees.length(); i++)
- {
- if (table.containsKey(new Character(donnees.charAt(i))))
- {
- resultat += table.get(new Character(donnees.charAt(i)))+' ';
- }
- else
- {
- resultat += '?';
- }
- }
- return resultat;
- }
- }
- class DecodeurMorseConvertisseur extends ConvertisseurMorse {
- /**
- * Initialise la table de décodage ( inverse de la table de codage )
- */
- private static final HashMap<String, Character> tableInverse = new HashMap<String, Character>();
- static {
- Iterator it = ConvertisseurMorse.table.keySet().iterator();
- while (it.hasNext())
- {
- Character car = (Character)it.next();
- tableInverse.put(ConvertisseurMorse.table.get(car), car);
- }
- }
- /**
- * Conversion des données Morse->Alphablet
- * @param donnees
- * @return
- */
- @Override
- public String convertir(String donnees) throws Exception {
- String resultat="";
- StringTokenizer tokSequence=new StringTokenizer(donnees," ");
- while(tokSequence.hasMoreTokens())
- {
- String sequence = tokSequence.nextToken();
- if (tableInverse.containsKey(sequence)) resultat += tableInverse.get(sequence)+" ";
- else resultat += "? ";
- }
- return resultat;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement