Cod sursa(job #1347003)

Utilizator andy94Andrei Ursache andy94 Data 18 februarie 2015 18:49:26
Problema Convertor Scor 0
Compilator java Status done
Runda rosedu_cdl_2015 Marime 2.38 kb
import java.io.*;

public class Converter {

	private static int count = 0;
	private static int val = 0;

	private static String clear(String a) {
		
		if(a.equals("\"\"")){
			return "";
		}
		
		if (a.indexOf("\"") != -1) {
			return a.split("\"")[1];
		}

		a = a.replaceAll(" ", "");

		if (a.indexOf("?") != -1) {
			return a.substring(1, a.length());
		}

		return a;
	}

	private static String printName(String s) {

		String result = "";
		String[] ss = s.split("}");
		s = ss[0];
		ss = s.split(",");
		for (int i = 0; i < ss.length; i++) {
			if (ss[i].indexOf(":") != -1) {
				result += ss[i].split(":")[0].split("\"")[1];
				result += ",";
				count++;
			}
		}

		return result;

	}

	private static String printValue(String s) {

		String result = "";

		String[] pp;
		String[] aa;
		String[] ss = s.split("}");

		for (int i = 0; i < ss.length; i++) {

			// if (ss[i].indexOf(",") != -1) {
			pp = ss[i].split(",");

			for (int j = 0; j < pp.length; j++) {
				if (pp[j].indexOf(":") != -1) {

					if ((val) % (count) == 0) {
						// System.err.println(val+" "+count+" ");
						result += '\n';
					}
					//System.err.println(pp[j]);
					
					aa = pp[j].split(":");
					//System.err.println(aa[1]);
					
					//System.err.println();
					result += clear(aa[1]);
					result += ",";
					// System.err.println(result);
					val++;
				}
			}
			// }

		}

		return result;

	}

	private static void convert(BufferedReader in, BufferedWriter out)
			throws IOException {
		String line = "";

		line += in.readLine();
		while (line.indexOf('}') == -1) {
			line += in.readLine();

		}

		// System.out.println(printName(line));
		// System.out.println();
		// out.flush();
		out.write(printName(line));
		out.flush();
		out.write(printValue(line));
		out.flush();

		line = in.readLine();

		while (line != null) {

			out.write(printValue(line));
			out.flush();

			line = in.readLine();
		}

	}

	public static void main(String[] args) {
		BufferedReader in = null;
		BufferedWriter out = null;

		try {
			in = new BufferedReader(new FileReader(new File("convertor.in")));
			out = new BufferedWriter(new FileWriter(new File("converter.out")));
			convert(in, out);
			in.close();
			out.close();

		} catch (IOException e) {
			e.printStackTrace();
		} finally {

		}
	}
}