Pagini recente » Cod sursa (job #1551719) | Cod sursa (job #1291818) | Monitorul de evaluare | Cod sursa (job #1912879) | Cod sursa (job #1349076)
import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
import java.util.StringTokenizer;
import java.util.Vector;
class Pair
{
String str1, str2;
public Pair (String str1, String str2)
{
this.str1 = str1;
this.str2 = str2;
}
}
class Main
{
Vector<Pair> vct = new Vector<Pair>();
public Main (String[] s1, String[] s2, int lung)
{
for (int i = 0; i < lung; i++)
{
Pair p = new Pair(s1[i], s2[i]);
vct.add(p);
}
}
public static void main (String[] args) throws IOException
{
Scanner reader = new Scanner(new FileInputStream("convertor.in"));
PrintWriter writer = new PrintWriter("convertor.out");
String all = new String();
Vector<Main> convs = new Vector<Main>();
try {
StringBuilder sb = new StringBuilder();
String line = reader.next();
while (reader.hasNext()) {
sb.append(line);
sb.append(" ");
line = reader.next();
}
all = sb.toString();
} finally {
reader.close();
}
StringTokenizer st1 = new StringTokenizer (all, "{}[]");
while (st1.hasMoreTokens())
{
StringTokenizer st2 = new StringTokenizer (st1.nextToken(), ",\n");
String[] s1 = new String[100];
String[] s2 = new String[100];
int lung = 0;
int parity = 0, len1 = 0, len2 = 0;
while (st2.hasMoreTokens())
{
StringTokenizer st3 = new StringTokenizer (st2.nextToken(), ":\"");
while (st3.hasMoreTokens())
{
String aux = st3.nextToken();
if (aux.trim().length() > 0)
{
if (aux.indexOf(" ") == 0)
{
aux = aux.trim();
}
if (parity % 2 == 0)
{
s1[len1++] = aux;
}
else
{
s2[len2++] = aux;
}
parity ++;
lung = len1;
}
}
}
if (lung != 0)
{
convs.add(new Main(s1, s2, lung));
}
}
for (Pair p : convs.firstElement().vct)
{
writer.write(p.str1 + ",");
}
writer.write("\n");
for (Main cv : convs)
{
for (Pair p : cv.vct)
{
writer.write(p.str2 + ",");
}
writer.write("\n");
}
writer.close();
}
}