Source code for submission s668

Fs.java

  1. package fs;
  2.  
  3. /*
  4.  * To change this template, choose Tools | Templates
  5.  * and open the template in the editor.
  6.  */
  7.  
  8.  
  9. import java.io.BufferedReader;
  10. import java.io.IOException;
  11. import java.io.InputStreamReader;
  12.  
  13. /**
  14.  *
  15.  * @author cteam025
  16.  */
  17.  
  18. //FENDSVTSLHW.EDATS,EULAY
  19.  
  20.  
  21. public class Fs {
  22.  
  23. public static String convert2Str(String mors, String nums){
  24. StringBuilder message = new StringBuilder();
  25. int ukazovatko = 0;
  26. //System.out.println(nums);
  27. //System.out.println(nums.length());
  28. for(int i = 0; i < nums.length(); i++){
  29. //System.out.println('x'+nums.substring(i, i+1)+'x');
  30. int len = Integer.parseInt(nums.substring(i, i+1).toString());
  31. message.append(convert2Char(mors.substring(ukazovatko, ukazovatko+len)));
  32.  
  33. ukazovatko += len;
  34. }
  35. return message.toString();
  36. }
  37.  
  38. public static char convert2Char(String character){
  39. if(character.equals(".-")) return 'A';
  40. if(character.equals("-...")) return 'B';
  41. if(character.equals("-.-.")) return 'C';
  42. if(character.equals("-..")) return 'D';
  43. if(character.equals(".")) return 'E';
  44. if(character.equals("..-.")) return 'F';
  45. if(character.equals("--.")) return 'G';
  46. if(character.equals("....")) return 'H';
  47. if(character.equals("..")) return 'I';
  48. if(character.equals(".---")) return 'J';
  49. if(character.equals("-.-")) return 'K';
  50. if(character.equals(".-..")) return 'L';
  51. if(character.equals("--")) return 'M';
  52. if(character.equals("-.")) return 'N';
  53. if(character.equals("---")) return 'O';
  54. if(character.equals(".--.")) return 'P';
  55. if(character.equals("--.-")) return 'Q';
  56. if(character.equals(".-.")) return 'R';
  57. if(character.equals("...")) return 'S';
  58. if(character.equals("-")) return 'T';
  59. if(character.equals("..-")) return 'U';
  60. if(character.equals("...-")) return 'V';
  61. if(character.equals(".--")) return 'W';
  62. if(character.equals("-..-")) return 'X';
  63. if(character.equals("-.--")) return 'Y';
  64. if(character.equals("--..")) return 'Z';
  65. if(character.equals("..--")) return '_';
  66. if(character.equals(".-.-")) return ',';
  67. if(character.equals("---.")) return '.';
  68. return '?';
  69. }
  70.  
  71. public static String convert2Mors(char character){
  72. switch(character){
  73. case 'A': return ".-";
  74. case 'B': return "-...";
  75. case 'C': return "-.-.";
  76. case 'D': return "-..";
  77. case 'E': return ".";
  78. case 'F': return "..-.";
  79. case 'G': return "--.";
  80. case 'H': return "....";
  81. case 'I': return "..";
  82. case 'J': return ".---";
  83. case 'K': return "-.-";
  84. case 'L': return ".-..";
  85. case 'M': return "--";
  86. case 'N': return "-.";
  87. case 'O': return "---";
  88. case 'P': return ".--.";
  89. case 'Q': return "--.-";
  90. case 'R': return ".-.";
  91. case 'S': return "...";
  92. case 'T': return "-";
  93. case 'U': return "..-";
  94. case 'V': return "...-";
  95. case 'W': return ".--";
  96. case 'X': return "-..-";
  97. case 'Y': return "-.--";
  98. case 'Z': return "--..";
  99. case '_': return "..--";
  100. case ',': return ".-.-";
  101. case '.': return "---.";
  102. case '?': return "----";
  103. }
  104. return "";
  105. }
  106.  
  107.  
  108.  
  109. public static String convert2Num(char character){
  110. switch(character){
  111. case 'A': return "2";
  112. case 'B': return "4";
  113. case 'C': return "4";
  114. case 'D': return "3";
  115. case 'E': return "1";
  116. case 'F': return "4";
  117. case 'G': return "3";
  118. case 'H': return "4";
  119. case 'I': return "2";
  120. case 'J': return "4";
  121. case 'K': return "3";
  122. case 'L': return "4";
  123. case 'M': return "2";
  124. case 'N': return "2";
  125. case 'O': return "3";
  126. case 'P': return "4";
  127. case 'Q': return "4";
  128. case 'R': return "3";
  129. case 'S': return "3";
  130. case 'T': return "1";
  131. case 'U': return "3";
  132. case 'V': return "4";
  133. case 'W': return "3";
  134. case 'X': return "4";
  135. case 'Y': return "4";
  136. case 'Z': return "4";
  137. case '_': return "4";
  138. case ',': return "4";
  139. case '.': return "4";
  140. case '?': return "4";
  141. }
  142. return "";
  143. }
  144.  
  145. /**
  146.   * @param args the command line arguments
  147.   */
  148. public static void main(String[] args) throws IOException {
  149. String message = in.readLine();
  150. while(message != null){
  151. System.out.println(convert(message));
  152. message = in.readLine();
  153. }
  154. }
  155.  
  156. public static String convert(String message){
  157. StringBuilder mors = new StringBuilder();
  158. StringBuilder nums = new StringBuilder();
  159.  
  160. for(int i = 0; i < message.length(); i++){
  161. mors.append(convert2Mors(message.charAt(i)));
  162. nums.append(convert2Num(message.charAt(i)));
  163. }
  164. //System.out.println(mors.append(" ").append(nums));
  165.  
  166. nums = nums.reverse();
  167.  
  168.  
  169.  
  170. return convert2Str(mors.toString(), nums.toString());
  171. }
  172.  
  173. }
  174.