Source code for submission s653

security.java

  1. import java.io.*;
  2.  
  3. class security{
  4.  
  5. public static void main(String args[]) throws IOException
  6. {
  7.  
  8.  
  9.  
  10.  
  11. String morseovka[] = { ".-","-...","-.-.","-..",".","..-.","--.",
  12. "....","..",".---","-.-",".-..","--","-.",
  13. "---",".--.","--.-",".-.","...","-","..-",
  14. "...-",".--","-..-","-.--","--..", //abeceda
  15. "..--",".-.-","---.","----"}; //doplnujici znaky
  16.  
  17. String vstup ="";
  18.  
  19. while((vstup = ctecka.readLine())!=null)
  20. {
  21. int cisla[] = new int[vstup.length()];
  22. String text_morseovka = "";
  23.  
  24. //konverze textu do morseovi abecedy
  25. for (int i=0;i<vstup.length();i++)
  26. {
  27. char znak = vstup.charAt(i);
  28. int pom=0;
  29.  
  30. if (znak<65 || znak>90)
  31. {
  32. if(znak == '_') pom = 26;
  33. if(znak == ',') pom = 27;
  34. if(znak == '.') pom = 28;
  35. if(znak == '?') pom = 29;
  36. }
  37. else
  38. pom = (int) znak-65;
  39.  
  40. //System.out.println((int)znak);
  41.  
  42. cisla[i]= morseovka[pom].length();
  43. text_morseovka+=morseovka[pom];
  44. }
  45.  
  46.  
  47. //otoceni pole cisel
  48. int cisla2[] = new int[vstup.length()];
  49. int j = vstup.length();
  50.  
  51. for (int prvek: cisla)
  52. {
  53. cisla2[--j] = prvek;
  54. }
  55.  
  56. /*test1
  57. System.out.println(text_morseovka);
  58. for (int prvek: cisla)
  59. System.out.print(prvek);
  60.  
  61. System.out.println("");
  62.  
  63. for (int prvek: cisla2)
  64. System.out.print(prvek);
  65. */
  66.  
  67. //prevod tecek a carek na pismena
  68. int ukazatel = 0;
  69.  
  70. for (int velikost:cisla2)
  71. {
  72. String pom = text_morseovka.substring(ukazatel,ukazatel+velikost);
  73. ukazatel+=velikost;
  74.  
  75. for (int i=0;i<30;i++)
  76. {
  77. if (pom.equals(morseovka[i]))
  78. {
  79. if (i>25)
  80. {
  81. if (i==26) System.out.print('_');
  82. if (i==27) System.out.print(',');
  83. if (i==28) System.out.print('.');
  84. if (i==29) System.out.print('?');
  85. }
  86. else
  87. {
  88. int tmp = i+65;
  89. System.out.print((char) tmp);
  90. }
  91. break;
  92. }
  93. }
  94. }
  95. System.out.println();
  96.  
  97. }
  98. }
  99.  
  100. }
  101.