[ Advanced OOP][Java] 03. BarracksWars - A New Factory [SOLVED]
Здравейте,
Като пусна тестовете на моя компютър тестовете ми излизат както си трябва, а пък на judge ми дава някакъв проблем с output-a.
Ето какво показва judge:
А това излиза при мен:
Не съм пипал по кода на задачата, освем да добавя 2-та нови класа и да оправя factory-то да е с рефлекшън, някакви идеи ?
Да правилно си се ориентирал, реално String.format("%n") е същото като System.lineSeparator(), който при различните ОС е различен. При някой е \n - 1 символ, а при други е \r\n - 2 символа. Това чупи:
statBuilder.setLength(statBuilder.length() - 1);
За целта трябва да се промени на:
statBuilder.setLength(statBuilder.length() - System.lineSeparator().length());
Така динамично ще се променя според ОС, колко да махне от стринг билдъра за да нямаме ред в края на репорта. Извинявам се за грешката в скелета - оправих го по-рано днес. Въпреки това е полезно да можете да откривате такива грешки в скелети, защото на изпита може да имате нарочно допуснати такива.
По-здрави!
За System.lineSeparator().length() не се бях сетил, но е доста елегантно решение на проблема.
Благодаря за отговора.
на изпита с готов скелет ли ще е задачата ?
Цял скелет надали, но ще имате някой друг клас имплементиран (може би недовършен и/или с бъгове). Ще трябва да го рефакторирате по принципите на ООП, ООД и т.н., които изучавахме този и миналия курс.