CodeGym
Aktion
CodeGym University
Lernen
Kurs
Aufgaben
Umfragen & Quizze
Spiele
Hilfe
Zeitplan für einen Tritt in den Hintern
Community
Benutzer
Forum
Chat
Artikel
Erfolgsstorys
Aktivität
Rezensionen
Abonnements
Helles Design
Frage
  • Rezensionen
  • Über uns
Start
Jetzt lernen
Jetzt lernen
  • Alle Fragen
hidden #10625598
Level 23
  • 13.06.2020
  • 403Aufrufe
  • 2Kommentare

warum ist das nicht richtig?

Frage zur Aufgabe Countdown
Java Core,  Level 6,  Lektion 7
In der Diskussion


1. Finde heraus, was das Programm macht.
2. Implementiere eine Logik in der Methode printCountdown, so dass das Programm jede halbe Sekunde ein Objekt aus der Variable list anzeigt. Die Ausgabe muss in umgekehrter Reihenfolge erfolgen: von dem an Countdown übergebenen Index bis zu Null.

Beispiel:
Index 3 wird übergeben

Beispiel für eine Konsolenausgabe:
Zeile 2
Zeile 1
Zeile 0

Anforderungen:
  • Die printCountdown-Methode muss etwa eine halbe Sekunde ausgeführt werden.
  • Die printCountdown-Methode muss den Wert der Variable countFrom verringern (dekrementieren).
  • Die printCountdown-Methode muss den Listeneintrag mit einem Index anzeigen, der dem neuen Wert von countFrom entspricht.
  • Die main-Methode muss ein Countdown-Objekt erstellen.
  • Die Ausgabe des Programms muss dem Beispiel in den Aufgabenbedingungen entsprechen.
package de.codegym.task.task16.task1614; import java.util.*; import java.io.*; /* Countdown */ public class Solution { public static volatile List<String> list = new ArrayList<>(5); static { for (int i = 0; i < 5; i++) { list.add("Zeile " + i); } } public static void main(String[] args) throws InterruptedException { Thread t = new Thread(new Countdown(3), "Countdown"); t.start(); } public static class Countdown implements Runnable { private int countFrom; public Countdown(int countFrom) { this.countFrom = countFrom; } public void run() { try { while (countFrom > 0) { printCountdown(); } } catch (InterruptedException e) { } } public void printCountdown() throws InterruptedException { //Collections.sort(list, Collections.reverseOrder()); for(int i = countFrom - 1; i >= 0; i--){ try{ Thread.sleep(500); System.out.println(list.get(i)); countFrom--; } catch (InterruptedException ignore){ } } } } }
0
Kommentare (2)
  • Beliebt
  • Neu
  • Alt
Du musst angemeldet sein, um einen Kommentar schreiben zu können
MaisNon
Level 18 , Spain
20 Dezember 2022, 18:33
Zudem ist es so, dass der Index 2 angezeigt werden soll, bei dir wird aber Index 3 ausgegeben. Deine Reduzierung kommt an der falschen Stelle.
0
Valentin Steiner
Level 18 , Ingolstadt, Germany
13 Februar 2021, 17:43
Die for-Schleife ist redundant, da die Methode weiter oben schon in einem while-Loop ausgeführt wird.
0
Lernen
  • Registrierung
  • Java-Kurs
  • Hilfe zu Aufgaben
  • Preise
  • Spieleprojekte
  • Java Syntax
Community
  • Benutzer
  • Artikel
  • Forum
  • Chat
  • Erfolgsstorys
  • Aktivität
  • Affiliate Program
Unternehmen
  • Über uns
  • Kontakt
  • Rezensionen
  • Medien
  • CodeGym im Bildungsbereich
  • FAQ
  • Support
CodeGym CodeGym ist ein Java-Tutorial zum Lernen von Java von Grund auf. Dieser Kurs ist perfekt dafür geeignet, Java von Beginn an zu meistern. Er enthält über 1200 Aufgaben mit Sofortüberprüfung und grundlegende Theorie zu den Java-Grundlagen. Damit auch du bei deinem Kurs erfolgreich bist, haben wir eine ganze Reihe motivierender Inhalte: Quizfragen, Programmierprojekte, Inhalte zu effizientem Lernen und zum Berufseinstieg als Java-Entwickler.
Folgen
Sprache der Oberfläche
Programmierer werden gemacht, nicht geboren © 2023 CodeGym
MastercardVisa
Programmierer werden gemacht, nicht geboren © 2023 CodeGym
This website uses cookies to provide you with personalized service. By using this website, you agree to our use of cookies. If you require more details, please read our Terms and Policy.