Go to diff to previous submission
import java.util.Arrays; import java.util.Scanner; public class Fs { static char [] chars = new char[30]; ".-", //A "-...", //B "-.-.", //C "-..", //D ".", //E "..-.", //F "--.", //G "....", //H "..", //I ".---", //J "-.-", //K ".-..", //L "--", //M "-.", //N "---", //O ".--.", //P "--.-", //Q ".-.", //R "...", //S "-", //T "..-", //U "...-", //V ".--", //W "-..-", //X "-.--", //Y "--..", //Z "..--", //_ ".-.-", //, "---.", //. "----" //? }; public static StringBuilder sb; fillChars(); while (sc.hasNextLine()) { sb = new StringBuilder(); morsed = ""; demorsedFinal = ""; morsedInNumbers = ""; input = sc.nextLine(); toMorse(); sb.append(morsedInNumbers); sb.reverse(); morsedInNumbers = sb.toString(); demorse(); } } public static void fillChars(){ for(int i = 0; i < 26; i++){ chars[i] = (char)(65 + i); } chars[26] = '_'; chars[27] = ','; chars[28] = '.'; chars[29] = '?'; } public static void toMorse(){ for(int j = 0; j < input.length(); j++){ for (int i = 0; i < 30; i++) { if (input.charAt(j) == (chars[i])) { morsed += morse[i]; morsedInNumbers = morsedInNumbers + morse[i].length(); break; } } } } for(int i = 0; i < 30; i++){ if(morseChar.equals(morse[i])){ return chars[i]; } } return 0; } public static void demorse(){ int inStart = 0; for(int i = 0; i < morsedInNumbers.length(); i++){ demorsedFinal += toChar(morsed.substring(inStart, inStart + part)); inStart += part; } } /* int indexNumber; if (input.charAt(i) >= 65) { indexNumber = input.charAt(i) - 65; if (indexNumber < 26) { morsed = morsed + morse[indexNumber]; morsedInNumbers = morsedInNumbers + morse[indexNumber].length(); } } else if (input.charAt(i) == '_') { morsed = morsed + morse[26]; morsedInNumbers = morsedInNumbers + morse[26].length(); } else if (input.charAt(i) == ',') { morsed = morsed + morse[27]; morsedInNumbers = morsedInNumbers + morse[27].length(); } else if (input.charAt(i) == '.') { morsed = morsed + morse[28]; morsedInNumbers = morsedInNumbers + morse[28].length(); } else { morsed = morsed + morse[29]; morsedInNumbers = morsedInNumbers + morse[29].length(); }*/ }
--- c5.s642.cteam058.fs.java.0.Fs.java +++ c5.s731.cteam058.fs.java.0.Fs.java @@ -1,11 +1,40 @@ +import java.util.Arrays; import java.util.Scanner; -import javax.swing.Box.Filler; - - public class Fs { static char [] chars = new char[30]; - static String [] morse = {".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--..", "..--", ".-.-", "---.", "----"}; + static String [] morse = { + ".-", //A + "-...", //B + "-.-.", //C + "-..", //D + ".", //E + "..-.", //F + "--.", //G + "....", //H + "..", //I + ".---", //J + "-.-", //K + ".-..", //L + "--", //M + "-.", //N + "---", //O + ".--.", //P + "--.-", //Q + ".-.", //R + "...", //S + "-", //T + "..-", //U + "...-", //V + ".--", //W + "-..-", //X + "-.--", //Y + "--..", //Z + "..--", //_ + ".-.-", //, + "---.", //. + "----" //? + }; public static String input; @@ -19,5 +48,4 @@ fillChars(); - Scanner sc = new Scanner(System.in); @@ -41,4 +69,6 @@ System.out.println(demorsedFinal); } + + } @@ -54,35 +84,24 @@ public static void toMorse(){ - for(int i = 0; i < input.length(); i++){ - - int indexNumber; - - if (input.charAt(i) >= 65) { - indexNumber = input.charAt(i) - 65; - if (indexNumber < 26) { - morsed = morsed + morse[indexNumber]; - morsedInNumbers = morsedInNumbers + morse[indexNumber].length(); + + for(int j = 0; j < input.length(); j++){ + for (int i = 0; i < 30; i++) { + if (input.charAt(j) == (chars[i])) { + morsed += morse[i]; + morsedInNumbers = morsedInNumbers + morse[i].length(); + break; } - } else if (input.charAt(i) == '_') { - morsed = morsed + morse[26];morsedInNumbers = ""; - morsedInNumbers = morsedInNumbers + morse[26].length(); - } else if (input.charAt(i) == ',') { - morsed = morsed + morse[27]; - morsedInNumbers = morsedInNumbers + morse[27].length(); - } else if (input.charAt(i) == '.') { - morsed = morsed + morse[28]; - morsedInNumbers = morsedInNumbers + morse[28].length(); - } else { - morsed = morsed + morse[29]; - morsedInNumbers = morsedInNumbers + morse[29].length(); } } + + } public static char toChar(String morseChar){ for(int i = 0; i < 30; i++){ - if(morseChar.equals(morse[i])) - return chars[i]; + if(morseChar.equals(morse[i])){ + return chars[i]; + } } @@ -99,4 +118,27 @@ } } + + /* + int indexNumber; + + if (input.charAt(i) >= 65) { + indexNumber = input.charAt(i) - 65; + if (indexNumber < 26) { + morsed = morsed + morse[indexNumber]; + morsedInNumbers = morsedInNumbers + morse[indexNumber].length(); + } + } else if (input.charAt(i) == '_') { + morsed = morsed + morse[26]; + morsedInNumbers = morsedInNumbers + morse[26].length(); + } else if (input.charAt(i) == ',') { + morsed = morsed + morse[27]; + morsedInNumbers = morsedInNumbers + morse[27].length(); + } else if (input.charAt(i) == '.') { + morsed = morsed + morse[28]; + morsedInNumbers = morsedInNumbers + morse[28].length(); + } else { + morsed = morsed + morse[29]; + morsedInNumbers = morsedInNumbers + morse[29].length(); + }*/ }