Go to diff to previous submission
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; class Chyba { public int line; public int toLine; } public class Bugs { static List<Chyba> chyby = new LinkedList<Chyba>(); int pocet = 0; for(Chyba a : chyby) { if (a.line <= radka && radka <= a.toLine) { pocet++; } } int x = 0; for(Chyba a : chyby) { if (a.line <= radka && radka <= a.toLine) { ret[x] = a.ret; x++; } } return ret; } int radek = 1; while(is.ready()) { //System.out.println(line); // Test na bug case? int pozicePrvniMezery = line.indexOf(" "); if (pozicePrvniMezery > 0) { int poziceDruheMezery = line.indexOf(" ", pozicePrvniMezery+1); if (poziceDruheMezery < 0) { try { Chyba a = new Chyba(); a.ret = "("+ret+")*"; a.line = radek+1; a.toLine = radek+pocet; chyby.add(a); radek++; continue; } } } // Replace na data int pocet = chyby.length; int i = 0; int puvodni = line.length(); int novaDelka = 0; boolean nalezeno = false; //System.out.println(chyby.toString()); do { nalezeno = false; for (i = 0; i < pocet; i++) { line = line.replaceAll(chyby[i], ""); novaDelka = line.length(); if (novaDelka != puvodni) { nalezeno = true; puvodni = novaDelka; } } } while(nalezeno); radek++; } } }
--- c4.s1195.cteam111.bugs.java.0.Bugs.java +++ c4.s1209.cteam111.bugs.java.0.Bugs.java @@ -15,11 +15,20 @@ static List<Chyba> chyby = new LinkedList<Chyba>(); - public static List<String> getErrors(int radka) { - List<String> ret = new LinkedList<String>(); + public static String[] getErrors(int radka) { + int pocet = 0; for(Chyba a : chyby) { if (a.line <= radka && radka <= a.toLine) { - ret.add(a.ret); + pocet++; } } + + String [] ret = new String[pocet]; + int x = 0; + for(Chyba a : chyby) { + if (a.line <= radka && radka <= a.toLine) { + ret[x] = a.ret; + x++; + } + } return ret; } @@ -41,15 +50,11 @@ if (pozicePrvniMezery > 0) { - // Pridat bug test int poziceDruheMezery = line.indexOf(" ", pozicePrvniMezery+1); - //System.out.print("Pozice 1. "+pozicePrvniMezery+", druhe: "+poziceDruheMezery); if (poziceDruheMezery < 0) { try { - //System.out.println("Cislo:"+line.substring(0, pozicePrvniMezery)); int pocet = Integer.parseInt(line.substring(0, pozicePrvniMezery)); String ret = line.substring(pozicePrvniMezery+1, line.length()); - //System.out.println("Ret:"+ret); Chyba a = new Chyba(); - a.ret = ret; + a.ret = "("+ret+")*"; a.line = radek+1; a.toLine = radek+pocet; @@ -64,5 +69,6 @@ // Replace na data - List<String> chyby = getErrors(radek); + String [] chyby = getErrors(radek); + int pocet = chyby.length; int i = 0; int puvodni = line.length(); @@ -72,6 +78,6 @@ do { nalezeno = false; - for(String er : chyby) { - line = line.replaceAll("("+er+")*", ""); + for (i = 0; i < pocet; i++) { + line = line.replaceAll(chyby[i], ""); novaDelka = line.length(); if (novaDelka != puvodni) {