Cod sursa(job #1356918)

Utilizator oana_alexandra.orjanuOrjanu Oana-Alexandra oana_alexandra.orjanu Data 23 februarie 2015 17:33:28
Problema Convertor Scor 70
Compilator java Status done
Runda rosedu_cdl_2015 Marime 3.28 kb

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 *
 * @author Elesah
 */
public class Main
{
    public static void main(String[] args) throws FileNotFoundException
    {
        String store = new Scanner(new FileReader("convertor.in")).useDelimiter("\\A").next();
        int i, j, k;
        List<String> words = new ArrayList<String>();
        List<String> keys = new ArrayList<String>();
        List<String> values = new ArrayList<String>();
      //  System.out.println(store); //this one works
        char[] char_store = store.toCharArray();
        
        
        for (i = 0; i < char_store.length/6; i++)
        {    
            words.add("");
            keys.add("");
            values.add("");
        }    


            
        
        j = 0;
        for (i = 0; i < char_store.length - 1; i++)
        {
            if(char_store[i] == '\"')
            {
                i++;
                while (char_store[i]!='\"')
                {
                    words.set(j, words.get(j) + char_store[i]);
                    i++;
                }
                j++;
            }
            if (Character.isDigit(char_store[i]))
            {
                while(Character.isDigit(char_store[i]))
                {
                    words.set(j, words.get(j) + char_store[i]);
                    i++;
                }
                j++;
            }    
        }
        
        words.removeAll(Collections.singleton(null));
        /*for ( i = 0; i < words.size()-1; i++)
            System.out.println(words.get(i));*/ //this one works
        j = 0;
        k = 0;
        for (i = 0; i < words.size() - 1; i++)
        {
            if ((i%2 == 0) && (keys.contains(words.get(i))==false))
            {
                keys.set(j, words.get(i));
                j++;
            }
            else
                if(i%2 == 1)
                {
                    values.set(k, words.get(i));
                    k++;
                }    
        }
        keys.removeAll(Collections.singleton(null));
        values.removeAll(Collections.singleton(null));
        //for (i = 0; i < values.size() - 1; i++)
          //  System.out.println(keys.get(i));
        PrintWriter pw = new PrintWriter(new File("convertor.out"));
        int t = 0;
        for (i = 0; i < keys.size() - 1; i++)
        {    
            if (keys.get(i).compareTo("") != 0) 
            {    
                pw.print(keys.get(i)+",");
                t++;
            }
        }    
        pw.println();
        int s = 0;
        for (i = 0; i < values.size(); i++)
        {
            if (values.get(i).compareTo("") != 0)
            {    
                pw.print(values.get(i)+",");
                s++;
            }    
            if ((s%(t) == 0) && i!=0)
                pw.println();
        } 
     pw.close();       
    }        
    
}