Frage von fasdo12, 8

Gibt es in Java eine Möglichkeit, mithilfe einer Anweisung in default einen der cases oder alle cases von switch-case durchlaufen zu lassen?

Hallo ich studiere Angewandte Informatik und ich habe eine Aufgabe bekommen, die einen a teil hat (Primzahlenrechner programmieren) und einen b teil (Zählprogramm), beides sollte in Unterprogrammen abgehandelt werden, was ich auch hinbekommen habe. Die Unterprogramme sollten durch die Eingabe der zahlen 1(a) oder 2(b) abgerufen werden und bei allen andren Zahlen sollen beide durchlaufen werden. Ich habe das ganze in einen switch case getan, bei case 1 kommt uprog a bei und bei case 2 kommt uprog b. Der default-teil soll nun beide uprog durchlaufen lassen, allerdings sind einige Dinge in den jeweiligen cases vordefiniert und da ich doppelten Quelltext in meinem switch case vermeiden möchte, wollte ich in Erfahrung bringen, ob default auch dafür sorgen kann, dass case 1&2 beide nacheinander durchlaufen werden und wie die Anweisung dafür lautet. Wenn eine solche Anweisung nicht existiert, werde ich die Teile a und b in einem unter dem switch case angebrachten if-Teil durchlaufen lassen. Allerdings würde ich es vorziehen das ganze innerhalb meines switch-cases zu lösen, daher frage ich.

Antwort
von Dory1, 4

Warum lagerst du die "vordefinierten Dinge" innerhalb der Cases nicht in jeweils eigene Funktionen aus? 

switch (num) {
case 1:
functionA(args); break; case 2: functionB(args); break; default: functionA(args); functionB(args); }
Kommentar von fasdo12 ,

Danke für den Tipp, habe das ganze ausgelagert und umgeschrieben. Funktioniert super.

Antwort
von Laze96, 3

Lager das was du in den Unterprogramme hast in eigene Methoden aus. Dann kannst du im Switch bei den beiden cases die entsprechende Methode aufrufen und im Default teil einfach beide.

Keine passende Antwort gefunden?

Fragen Sie die Community