Hallo Community!
Wie man bereits im Titel lesen kann, benötige ich in einer Aufgabe eine throw-Exception die bei negativen und geraden Zahlen auftritt.
Bisher bin ich schon soweit, dass gerade Zahlen triggern. Allerdings wird bei negativen Zahlen ganz normal weitergearbeitet (auch wenn negativeZahl % 2 == -1 und nicht +1 ist)
[JAVA=28]
public Diamond(final int size)
{
//Diamant der Größe size (wird von main an die Methode weitergegeben)
//Abbruch über throw-Befehl (bei negativen & geraden Zahlen)
//Der Diamant besteht aus "#" und hat die Maße von size. Hintergrund ist "."
//Überschreibt den Rohdiamanten in diamond (Main-Methode)
if(size % 2 == 1)
{
background = '.';
diamond = '#';
width = size;
fields = width * width;
}
else
{
throw new IllegalArgumentException("muss ungerade, positive Zahl sein");
}
}//Diamond(final int size)
[/code]
Kann man das ganze eigentlich auch ohne if/else lösen? PMD sagt mir, dass meine Cyclomatic Complexity bei 10 liegt. Sollte allerdings niedriger als 10 für die Abgabe sein. Andersweitig lässt sich die Komplexität leider nicht mehr verringern.
Wäre super wenn jemand weiß, wo das Problem liegt. Wir hatten an der Uni den throw-Befehl leider noch nicht so gut besprochen.
Falls Ihr noch mehr Infos benötigt einfach kurz nachfragen.
Vielen Dank bereits im Voraus für Eure Hilfe!
Viele Grüße
Stefan
Wie man bereits im Titel lesen kann, benötige ich in einer Aufgabe eine throw-Exception die bei negativen und geraden Zahlen auftritt.
Bisher bin ich schon soweit, dass gerade Zahlen triggern. Allerdings wird bei negativen Zahlen ganz normal weitergearbeitet (auch wenn negativeZahl % 2 == -1 und nicht +1 ist)
[JAVA=28]
public Diamond(final int size)
{
//Diamant der Größe size (wird von main an die Methode weitergegeben)
//Abbruch über throw-Befehl (bei negativen & geraden Zahlen)
//Der Diamant besteht aus "#" und hat die Maße von size. Hintergrund ist "."
//Überschreibt den Rohdiamanten in diamond (Main-Methode)
if(size % 2 == 1)
{
background = '.';
diamond = '#';
width = size;
fields = width * width;
}
else
{
throw new IllegalArgumentException("muss ungerade, positive Zahl sein");
}
}//Diamond(final int size)
[/code]
Kann man das ganze eigentlich auch ohne if/else lösen? PMD sagt mir, dass meine Cyclomatic Complexity bei 10 liegt. Sollte allerdings niedriger als 10 für die Abgabe sein. Andersweitig lässt sich die Komplexität leider nicht mehr verringern.
Wäre super wenn jemand weiß, wo das Problem liegt. Wir hatten an der Uni den throw-Befehl leider noch nicht so gut besprochen.
Falls Ihr noch mehr Infos benötigt einfach kurz nachfragen.
Vielen Dank bereits im Voraus für Eure Hilfe!
Viele Grüße
Stefan