Go to diff to previous submission
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package basic; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Scanner; import java.util.StringTokenizer; import java.util.logging.Level; import java.util.logging.Logger; /** * * @author cteam043 */ public class Fs { static final double EPS = 1E-7; public Fs() { // first to check encodingSToM.put("A", ".-"); encodingSToM.put("B", "-..."); encodingSToM.put("C", "-.-."); encodingSToM.put("D", "-.."); encodingSToM.put("E", "."); encodingSToM.put("F", "..-."); encodingSToM.put("G", "--."); encodingSToM.put("H", "...."); encodingSToM.put("I", ".."); encodingSToM.put("J", ".---"); encodingSToM.put("K", "-.-"); encodingSToM.put("L", ".-.."); encodingSToM.put("M", "--"); encodingSToM.put("N", "-."); encodingSToM.put("O", "---"); encodingSToM.put("P", ".--."); encodingSToM.put("Q", "--.-"); encodingSToM.put("R", ".-."); encodingSToM.put("S", "..."); encodingSToM.put("T", "-"); encodingSToM.put("U", "..-"); encodingSToM.put("V", "...-"); encodingSToM.put("W", ".--"); encodingSToM.put("X", "-..-"); encodingSToM.put("Y", "-.--"); encodingSToM.put("Z", "--.."); encodingSToM.put("_", "..--"); encodingSToM.put(",", ".-.-"); encodingSToM.put(".", "---."); encodingSToM.put("?", "----"); encodingMToS = invertMap(encodingSToM); inputText = ""; morseText = ""; morseNumbers = ""; outputText = ""; outputNumbers = ""; } output.put(outputK, outputV); } return output; } while (!st.hasMoreTokens()) { } return st.nextToken(); } } String inputText; String morseText; String morseNumbers; String outputText; String outputNumbers; boolean testOutput; private void createMorse() { String aChar; String charsMorse; for (int i = 0; i < inputText.length(); i++) { // CHECK if (testOutput) { } charsMorse = encodingSToM.get(aChar); if (testOutput) { } if (testOutput) { } morseText = morseText.concat(charsMorse); } } private void createPlainText() { String charsMorse; String plainChar; int morsePos = 0; int morseCharLen = 0; for (int i = 0; i < inputText.length(); i++) { // CHECK = Character.toString(inputText.charAt(i)); if (testOutput) { } if (testOutput) { } charsMorse = morseText.substring(morsePos, morsePos + morseCharLen); if (testOutput) { } plainChar = encodingMToS.get(charsMorse); if (testOutput) { } outputText = outputText.concat(plainChar); morsePos += morseCharLen; } } private void reverseNumbers() { String aNumber; for (int i = 0; i < morseNumbers.length(); i++) { // CHECK outputNumbers = outputNumbers.concat(aNumber); } } public void solve() { testOutput = false; while (sc.hasNextLine()) { inputText = ""; morseText = ""; morseNumbers = ""; outputText = ""; outputNumbers = ""; // inputText = nextToken(); inputText = sc.nextLine(); createMorse(); if (testOutput) { } reverseNumbers(); createPlainText(); if (testOutput) { } } } /** * @param args the command line arguments */ Fs instance = new Fs(); instance.solve(); } }
--- c5.s554.cteam043.fs.java.0.Fs.java +++ c5.s585.cteam043.fs.java.0.Fs.java @@ -12,4 +12,5 @@ import java.util.Map; import java.util.Map.Entry; +import java.util.Scanner; import java.util.StringTokenizer; import java.util.logging.Level; @@ -28,5 +29,5 @@ public Fs() { - encodingSToM = new HashMap<String, String>(); + encodingSToM = new HashMap<String, String>(40); // first to check encodingSToM.put("A", ".-"); @@ -72,5 +73,5 @@ private HashMap<String, String> invertMap(Map<String, String> input) { - HashMap<String, String> output = new HashMap<String, String>(); + HashMap<String, String> output = new HashMap<String, String>(40); for (Entry<String, String> entry : input.entrySet()) { String outputV = entry.getKey(); @@ -115,5 +116,5 @@ } if (testOutput) { - System.out.println("charsMorse.length is " + charsMorse.length()); + System.out.println("charstry {Morse.length is " + charsMorse.length()); } morseNumbers = morseNumbers.concat(String.valueOf(charsMorse.length())); @@ -166,11 +167,16 @@ public void solve() { testOutput = false; - while (1 == 1) { - try { + Scanner sc = new Scanner(System.in); + while (sc.hasNextLine()) { + + inputText = ""; + morseText = ""; + morseNumbers = ""; + outputText = ""; + outputNumbers = ""; + +// inputText = nextToken(); + inputText = sc.nextLine(); - inputText = nextToken(); - } catch (Exception ex) { - return; - } createMorse();