Cod sursa(job #1346342)

Utilizator mihaitza22Mihai Nan mihaitza22 Data 18 februarie 2015 10:32:24
Problema Convertor Scor 50
Compilator java Status done
Runda rosedu_cdl_2015 Marime 2.84 kb
/*
 * Realizat pentru inscrierea la CDL
 * Nan Mihai - Facultatea de Automatica si Calculatoare
 * Grupa - 324CC
 */
   
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.Scanner;
     
/**
 *
 * @author Nan Mihai
 */
public class Main {
         
    public static void main(String args[]) throws FileNotFoundException {
        Main c = new Main();
        c.read("convertor.in");
    }
         
    public void read(String namefile) throws FileNotFoundException {
        Scanner reader = new Scanner(new FileInputStream(namefile));
        PrintWriter writer = new PrintWriter("convertor.out");
        String line_values = "";
        boolean ok = true;
        String[] results;
        String line_keys = "";
        reader.useDelimiter(",");
        while(reader.hasNext()) {
            String aux = reader.next();
            if(!aux.equals("")) {
                results = getKey(aux);
                //value = getValue(aux);
                if(ok) {
                    line_keys += results[0] + ",";
                    line_values += results[1] + ",";
                } else {
                    writer.write(results[1] + ",");
                }
                if(aux.contains("}")) {
                    if(ok) {
                        writer.write(line_keys + "\n");
                        writer.write(line_values + "\n");
                        ok = false;
                    } else {
                        writer.write("\n");
                    }
                }
            }
        }
        writer.close();
        reader.close();
    }
         
    public String[] getKey(String s) {
        String[] results = new String[2];
        String aux = "";
        String pref = "";
        char c = '"';
        pref += c;
        String[] vect = s.split(pref);
        results[0] = vect[1];
        vect = s.split(":");
        results[1] = vect[1];
        if(results[1].contains(pref)) {
            vect = results[1].split(pref);
            results[1] = vect[1];
        } else {
            Scanner in = new Scanner(results[1]).useDelimiter("[^0-9]+");
            int integer = in.nextInt();
            results[1] = "" + integer;
        }
        return results;
    }
         
    public String getValue(String s) {
        String value = "", aux = "";
        String[] v = s.split(":");
        String pref = "";
        char c = '"';
        pref += c;
        value = v[1];
        if(value.contains(pref)) {
            v = value.split(pref);
            value = v[1];
        } else {
            Scanner in = new Scanner(value).useDelimiter("[^0-9]+");
            int integer = in.nextInt();
            value = "" + integer;
        }
        return value;
    }
}