security.java
import java.io.*;
class security{
{
String morseovka
[] = { ".-",
"-...",
"-.-.",
"-..",
".",
"..-.",
"--.",
"....","..",".---","-.-",".-..","--","-.",
"---",".--.","--.-",".-.","...","-","..-",
"...-",".--","-..-","-.--","--..", //abeceda
"..--",".-.-","---.","----"}; //doplnujici znaky
while((vstup = ctecka.readLine())!=null)
{
int cisla[] = new int[vstup.length()];
//konverze textu do morseovi abecedy
for (int i=0;i<vstup.length();i++)
{
char znak = vstup.charAt(i);
int pom=0;
if (znak<65 || znak>90)
{
if(znak == '_') pom = 26;
if(znak == ',') pom = 27;
if(znak == '.') pom = 28;
if(znak == '?') pom = 29;
}
else
pom = (int) znak-65;
//System.out.println((int)znak);
cisla[i]= morseovka[pom].length();
text_morseovka+=morseovka[pom];
}
//otoceni pole cisel
int cisla2[] = new int[vstup.length()];
int j = vstup.length();
for (int prvek: cisla)
{
cisla2[--j] = prvek;
}
/*test1
System.out.println(text_morseovka);
for (int prvek: cisla)
System.out.print(prvek);
System.out.println("");
for (int prvek: cisla2)
System.out.print(prvek);
*/
//prevod tecek a carek na pismena
int ukazatel = 0;
for (int velikost:cisla2)
{
String pom
= text_morseovka.
substring(ukazatel,ukazatel
+velikost
); ukazatel+=velikost;
for (int i=0;i<30;i++)
{
if (pom.equals(morseovka[i]))
{
if (i>25)
{
if (i
==26) System.
out.
print('_'); if (i
==27) System.
out.
print(','); if (i
==28) System.
out.
print('.'); if (i
==29) System.
out.
print('?'); }
else
{
int tmp = i+65;
}
break;
}
}
}
}
}
}