hi,
ich bearbeite gerade ein Arbeitsblatt und bruache eure hilfe um weiter machen zukönnen.
Die Aufgabenstellung:
Ich hänge am ersten Punkt (a). Hab jedoch die ganze Aufgabe reingestellt fals weitere Fragen bestehen um nicht noch ein Thema zu erstellen.
Bei der Fragestellung bin ich mir nicht sicher ob das so zu realisieren ist,wie ich es unten gemacht habe.
ich bearbeite gerade ein Arbeitsblatt und bruache eure hilfe um weiter machen zukönnen.
Die Aufgabenstellung:
Aufgabe 4 (Beenden von Threads)
(a) Ändern Sie Ihre Lösung aus Aufgabe 1 (oder 2) so ab, dass jetzt das Alphabet nicht nur
einmal ausgegeben wird, sondern beliebig oft.
(b) Führen Sie einen dritten Thread killer ein, mit dem die nicht terminierenden Threads
gross und klein beendet werden: Auf eine Benutzereingabe hin werden die beiden
Threads mit der Methode stop() (deprecated!) beendet.
(c) Ändern Sie Ihre Lösung aus (b), indem Sie jetzt die Threads killer, groß und klein
zusammenarbeiten lassen:
(a) killer verwendet jetzt nicht mehr die Methode stop(), sondern
interrupt(),
(b) groß und klein fragen in ihrer Endlosschleife über die Methode
isInterrupted() ab, ob ein anderer Thread wünscht, dass sie ihre Arbeit
unterbrechen bzw, beenden sollen.
Ich hänge am ersten Punkt (a). Hab jedoch die ganze Aufgabe reingestellt fals weitere Fragen bestehen um nicht noch ein Thema zu erstellen.
Bei der Fragestellung bin ich mir nicht sicher ob das so zu realisieren ist,wie ich es unten gemacht habe.
Code:
package p;
public class Aufgabe4 extends Thread {
private boolean gOk;
public Aufgabe4(String klgr) {
if (klgr == "klein") {
this.gOk = true;
} else {
this.gOk = false;
}
}
@Override
public void run() {
if (gOk == true) {
for (char c = 'a'; c <= 'z'; c++) {
System.out.print(c);
}
} else {
for (char b = 'A'; b <= 'Z'; b++) {
System.out.print(b);
}
}
}
public static void main(String[] args) {
int beliebigOft = 2;
for (int i = 0; i < beliebigOft; i++) { // Ich hab eigentlich nur die Schleife hier hinzugefügt
Thread klein = new Aufgabe4("klein");
Thread groß = new Aufgabe4("groß");
klein.start();
groß.start();
}
}
}
Zuletzt bearbeitet: