Cod sursa(job #1358625)

Utilizator ana_mirelaIrimia Mirela ana_mirela Data 24 februarie 2015 18:30:34
Problema Convertor Scor 70
Compilator java Status done
Runda rosedu_cdl_2015 Marime 1.43 kb
import java.io.*;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;


public class Main {
	
	public static void main(String[] args) throws IOException{
		
		ArrayList<String> keys = new ArrayList<>();
		ArrayList<String> values = new ArrayList<>();
		String tok;
		int i, count = 0;
		PrintWriter pw = new PrintWriter("convertor.out");
 		Scanner s = new Scanner(new FileInputStream("convertor.in"));
		s.useDelimiter("[\\[\\],{}\n:]");
		
		while (s.hasNext()){
			tok = s.next();
		/*	if (tok.trim().length() > 0){	
				StringTokenizer sToken = new StringTokenizer(tok, ":");
				String key = sToken.nextToken().trim();
				key = key.substring(1, key.length() - 1);
				String value = sToken.nextToken().trim();
				if (value.charAt(0) == '"')
					value = value.substring(1, value.length() - 1);
				if (!keys.contains(key)){
					keys.add(key);
					pw.write(key + ",");
				}
				values.add(value);
			}*/
			if (tok.trim().length() > 0){
				tok = tok.trim();
				if (tok.charAt(0) == '"')
					tok = tok.substring(1, tok.length() - 1);
				if (count % 2 == 0){
					if (!keys.contains(tok)){
						keys.add(tok);
						pw.write(tok + ",");
					}
				}
				else
					values.add(tok);
				
				count++;
			}
		}

	s.close();
		
	for (i = 0; i < values.size(); i++){
		if (i % keys.size() == 0)
			pw.write("\n");
		pw.write(values.get(i) + ",");
	}
	pw.close();
	}
}