Fs.java
import java.io.*;
public class Fs{
static String line
; //doesn't need resetting static String morse
=""; //reset every line static int[] key; //reset every line
static int counter = 0; //reset every line
static String[] library
= {".-",
"-...",
"-.-.",
"-..",
".",
"..-.",
"--.",
"....",
"..",
".---",
"-.-",
".-..",
"--",
"-.",
"---",
".--.",
"--.-",
".-.",
"...",
"-",
"..-",
"...-",
".--",
"-..-",
"-.--",
"--..",
"..--",
".-.-",
"---.",
"----"}; static int xlen;
static int totallen = 0;
while((line = reader.readLine()) != null){
morse = "";
counter = 0;
key = new int[line.length()];
for(int i = 0; i<line.length(); i++){
addMorse(line.charAt(i));
}
answer = "";
totallen = 0;
calculate();
}
}
static void calculate(){
for(int i = 0; i<key.length;i++){
xlen = key[key.length-(1+i)];
for(int j = 0; j<xlen; j++){
decode += morse.charAt(totallen);
totallen++;
}
answer += decodeMorse(decode);
decode = "";
}
}
for(int i = 0; i<library.length; i++){
if(morse.equals(library[i])){
if (i==26)
return "_";
else if (i==27)
return ",";
else if (i==28)
return ".";
else if (i==29)
return "?";
else{
return( returnVal);
}
}
}
return "";
}
static void addMorse(char c){//lower case
if (c == '_'){
morse += "..--";
key[counter] = 4;
counter++;
}
else if (c == ','){
morse += ".-.-";
key[counter] = 4;
counter++;
}
else if (c == '.'){
morse += "---.";
key[counter] = 4;
counter++;
}
else if (c == '?'){
morse += "----";
key[counter] = 4;
counter++;
}
else{
morse += library[(c - 'A')];
key[counter] = library[(c - 'A')].length();
counter++;
}
}
}