Witam mam następujące zadanie:
Stworzyć klasę Appender z polem String src (źródłowy napis) i dwoma konstruktorami:
public Appender() - inicjuje src napisem pustym
public Appender(String s) - inicjuje src napisem s.
W klasie zdefiniować metodę Appender append(String app, int n), która do źródłowego napisu src dołącza n-razy powielony napis reprezentowany przez app.
Zapewnić zgłaszanie wyjątków gdy wystąpią błędy w podawanych argumentach konstruktora i/lub metody append.
Przyklad - poniższy kod:
public static void main(String[] args) {
Appender ap = new Appender("Ala");
ap.append(" ma kota", 3).append( " i psa", 2);
System.out.println(ap);
ap.append(" ojej", 3);
System.out.println(ap);
}
winien wyprowadzić na konsolę:
Ala ma kota ma kota ma kota i psa i psa
Ala ma kota ma kota ma kota i psa i psa ojej ojej ojej
Pomoc:
n-krotne powtórzenie instrukcji ins można uzyskać przez while (n-- >0) ins;
jako klasę wyjątku dla sygnalizacji błędnych argumentów najlepiej wybrać IllegalArgumentException
Uwaga: utworzona przez generator projektów klasa Main może być zmieniana dla potrzeb testowania.
Ale: wygenerowana przez generator wersja klasy musi działać w przekazanym rozwiązaniu i produkować pokazany wydruk.
Mam już działającą - wydaje mi się że dobrze - klasę Appender. Prozę o sprawdzenie kodu i ewentualne sugestie gdzie i jakie jeszcze wyjątki powinny być obsługiwane.
Moja klasa wygląda następująco:
public class Appender
{
String src;
public Appender()
{
}
public Appender(String s)
{
src = s;
}
public Appender append(String app, int n)
{
if (n<=0) throw new IllegalArgumentException("Parametr n musi być większy od 0");
while(n-- >0)
{
src = src + app;
}
return this;
}
public String toString()
{
return src;
}
}
Z góry dzięki :)