Source code for submission s976

Bugs.java

  1.  
  2. import java.util.*;
  3.  
  4. class Chyba {
  5. public String ret;
  6. public int line;
  7. public int toLine;
  8.  
  9. }
  10.  
  11. public class Bugs {
  12. static List<Chyba> chyby = new LinkedList<Chyba>();
  13.  
  14. public static List<String> getErrors(int radka) {
  15. //System.out.println("Hledam chyby pro radku"+radka);
  16. List<String> ret = new LinkedList<String>();
  17. for(Chyba a : chyby) {
  18. //System.out.println("Chyba:"+a.ret+"od:"+a.line+",do:"+a.toLine);
  19. if (a.line <= radka && radka <= a.toLine) {
  20. //System.out.println("Pro radku"+radka+"chyba:"+a.ret);
  21. ret.add(a.ret);
  22. }
  23. }
  24.  
  25. return ret;
  26. }
  27.  
  28.  
  29. public static void main(String [] args) {
  30. Scanner sc = new Scanner(System.in);
  31.  
  32. int radek = 1;
  33.  
  34. while(sc.hasNextLine()) {
  35. String line = sc.nextLine();
  36.  
  37. // Test na bug case?
  38. String [] array = line.split(" ");
  39. if (array.length == 2) {
  40. // Pridat bug test
  41. Chyba a = new Chyba();
  42. a.ret = array[1];
  43. int nasleduje = 0;
  44. boolean jeToBug = true;
  45. try {
  46. nasleduje = Integer.parseInt(array[0]);
  47. } catch(Exception e) {
  48. //System.out.println(e.getLocalizedMessage());
  49. jeToBug = false;
  50. }
  51. if (jeToBug) {
  52. a.line = radek+1;
  53. a.toLine = radek+nasleduje;
  54. chyby.add(a);
  55. radek++;
  56. //System.out.println("Pridavam chybu:"+array[1]+"line od:"+a.line+", do:"+a.toLine);
  57. continue;
  58. }
  59. }
  60. //System.out.println("BUG BUG".indexOf("BUG"));
  61. // Replace na data
  62. List<String> chyby = getErrors(radek);
  63. //System.out.println("Zde se bude nahrazovat: "+chyby.toString());
  64. boolean nalezeno = false;
  65. do {
  66. nalezeno = false;
  67. for (String er : chyby) {
  68. //System.out.println("Nahrazeno"+er);
  69. while(true) {
  70. if (line.indexOf(er) >= 0) {
  71. //System.out.println("Nalezeno"+er);
  72. line = line.replace(er, "");
  73. nalezeno = true;
  74. } else {
  75. break;
  76. }
  77. }
  78. }
  79. } while(nalezeno);
  80.  
  81. System.out.println(line);
  82.  
  83. radek++;
  84. }
  85.  
  86. }
  87. }
  88.