Cod sursa(job #1342814)

Utilizator paula.simaSima Paula paula.sima Data 14 februarie 2015 15:57:28
Problema Convertor Scor 50
Compilator java Status done
Runda rosedu_cdl_2015 Marime 1.67 kb
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

class Main {
	public static void main(String[] args) throws FileNotFoundException {
		List<String> list = new ArrayList<String>();
		Scanner reader = new Scanner(new FileInputStream("convertor.in"));
		PrintWriter writer = new PrintWriter("convertor.out");
		String s = "";
		String ss = "";
		s = reader.nextLine();
		while (!s.endsWith("]")) {
			ss = ss + s;
			s = reader.nextLine();
		}
		ss = ss + s;
		String[] x;
		x = ss.split("}");
		int i, l,j,k;
		String[] a,b;
		String s2 = "";
		int ok=1;

		for (i = 0; i < x.length - 1; i++) {
			if (i!=0) {writer.write("\n");}
			if(i!=0 && !list.isEmpty()) {
				int y = list.size();
				for (k = 1; k <= y; k++) {
					writer.write(list.get(k - 1));
					writer.write(",");
				}
				list.clear();
			}
				
			a = x[i].split(",");
			l = a.length;

			for ( j = 0; j < l; j++) {
				
				if ((i > 0 && j != 0) || (i == 0)) {
					b = a[j].split(":");
					
					if (i == 0) {
						
						writer.write(b[0].substring(b[0].indexOf(34)+1, b[0].lastIndexOf(34)));
						writer.write(",");
					}

					if (b[1].indexOf(34) != -1) {
						s2 = b[1].substring(b[1].indexOf(34) + 1, b[1].lastIndexOf(34));

					} else {

						s2 = b[1].trim();
					}
					if(i==x.length-2) {
						if(ok==1) { writer.write("\n");
								ok=0;
						}
						writer.write(s2);
						writer.write(",");
					}
					else {
					list.add(s2);
					}
				}
			}
			
		}
		
		

		writer.close();
		reader.close();

	}

}