Cod sursa(job #1355927)

Utilizator devLucian93Lucian Alexandru devLucian93 Data 23 februarie 2015 01:14:34
Problema Convertor Scor 0
Compilator java Status done
Runda rosedu_cdl_2015 Marime 2.03 kb

import java.io.*;
import java.util.Scanner;
 
public class Main {
 static PrintWriter writer;
 private static boolean first = true;
 private static int parity = 1;
 static String prima="";
	public static void main(String[] args)throws IOException
	{  // long startTime = System.currentTimeMillis();

		writer = new PrintWriter("convertor.out");
		Scanner reader = new Scanner(new FileInputStream("convertor.txt"));
		
	
		reader.useDelimiter("}");
		
		while(reader.hasNext()){
			parseObjects(reader.next());
			writer.println("");
			if(first == true){
			first = false;	
			writer.write(prima);
			writer.println("");
			
			}
			
			parity = 1;
		    
		}
    
		writer.close();
		reader.close();
		//long endTime = System.currentTimeMillis();
		//System.out.println("That took " + (endTime - startTime) + " milliseconds");
	}
	
	private static void parseObjects(String object) throws IOException{
		Scanner objectReader = new Scanner(object);
	    objectReader.useDelimiter(",");
	    while(objectReader.hasNext()){
	    	parseKeysAndValues(objectReader.next());
	    }
	    
	    objectReader.close();
	}
	
	private static void parseKeysAndValues(String keyAndValue) throws IOException{
		Scanner keyAndValueReader = new Scanner(keyAndValue);
		keyAndValueReader.useDelimiter(":");
		
		
		while(keyAndValueReader.hasNext()){
		//String	key = keyAndValueReader.next();
		//String  value = keyAndValueReader.next();
		    
			
			
			String result = keyAndValueReader.next();
			result = result.replaceAll("\\[|\\]|\"|\\{","");
			result = result.trim();
			if(!result.isEmpty()){
				//System.out.println(result);
				if( (first == true)&&(parity %2!=0) ){
					writer.write(result);
					writer.write(",");
					
					
				}else if(first==true){
						prima = prima+result+",";
					
				}
				
				if( (first == false)&&(parity%2==0) ){
					writer.write(result);
					writer.write(",");
					
				}
		
			}
			parity++;
			
		}
		
		
	
		keyAndValueReader.close();
	}



 
}