Cod sursa(job #1359684)

Utilizator andi.georgescuAndi Georgescu andi.georgescu Data 25 februarie 2015 01:03:32
Problema Convertor Scor 70
Compilator java Status done
Runda rosedu_cdl_2015 Marime 1.53 kb
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Scanner;
import java.util.StringTokenizer;

public class Main {
	public static void main(String[] args) throws FileNotFoundException{
		
	Scanner reader =new Scanner(new FileInputStream("convertor.in"));
	String text=reader.nextLine();
	while(reader.hasNextLine())
	{
	    text =text + reader.nextLine();		
	}
		reader.close();
		
		
		
		StringTokenizer st = new StringTokenizer(text, ":,");
		ArrayList<String> keys = new ArrayList<String>();
		ArrayList<String> values= new ArrayList<String>();
		
		while(st.hasMoreTokens()) {
			
			String key = st.nextToken();
			int tr1=key.indexOf("\"");
			int tr2=key.indexOf("\"", tr1+1);
		
			key=key.substring(tr1+1,tr2);
			
			if(!keys.contains(key)) keys.add(key);
			
			
			String value = st.nextToken();
			if(value.contains("\"")) {
				tr1=value.indexOf("\"");
				tr2=value.indexOf("\"",tr1+1);
				value=value.substring(tr1+1, tr2);
			}else{
			value=value.replace("}","");
			value=value.replace(" ", "");
			value=value.replace("]", "");}
			
			values.add(value);
	       
			} 
		PrintWriter writer=new PrintWriter("convertor.out");
		for(int i = 0 ; i < keys.size(); i++)
			writer.write(keys.get(i)+",");
		writer.write("\n");
		
		for(int i = 0 ; i < values.size(); i++)
			if((i+1)% keys.size()==0) writer.write(values.get(i)+",\n");
			else writer.write(values.get(i)+",");

		writer.close();
		
}}