Menu
Coddy logo textTech

Zusammenfassung – Listen-Organizer

Teil des Abschnitts Logik & Ablauf der Dart-Journey von Coddy. Lektion 9 von 65.

challenge icon

Aufgabe

Einfach

Erstelle ein Programm, das eine Datenverarbeitungspipeline verwaltet, indem es mehrere Operationen nacheinander auf einer Liste von Zahlen ausführt. Dein Programm sollte:

  1. Eine Zeichenfolgeneingabe lesen, die den Namen des Datensatzes darstellt
  2. Mehrere Ganzzahl-Eingaben lesen, die die ursprünglichen Datenwerte darstellen (die Eingabe endet, sobald du -999 erhältst)
  3. Den Wert 100 am Anfang der Liste (Position 0) einfügen
  4. Alle negativen Zahlen mithilfe von removeWhere() aus der Liste entfernen
  5. Die verbleibenden Zahlen mithilfe von sort() aufsteigend sortieren
  6. Prüfen, ob die endgültige Liste mithilfe von isEmpty leer ist
  7. Die Ergebnisse der Datenverarbeitung im unten gezeigten exakten Format ausgeben

Wenn der Name des Datensatzes beispielsweise "Sales Data" lautet und die Werte 45, -12, 78, -5, 23 sind, sollte dein Programm Folgendes ausgeben:

Dataset: Sales Data
Original data: [45, -12, 78, -5, 23]
Step 1: Inserted 100 at beginning
After insertion: [100, 45, -12, 78, -5, 23]
Step 2: Removed negative numbers
After removal: [100, 45, 78, 23]
Step 3: Sorted in ascending order
After sorting: [23, 45, 78, 100]
Final result: List is not empty
Processing complete: 4 values remaining

Wenn der Name des Datensatzes "Temperature Readings" lautet und die Werte -10, -5, -20 sind, sollte dein Programm Folgendes ausgeben:

Dataset: Temperature Readings
Original data: [-10, -5, -20]
Step 1: Inserted 100 at beginning
After insertion: [100, -10, -5, -20]
Step 2: Removed negative numbers
After removal: [100]
Step 3: Sorted in ascending order
After sorting: [100]
Final result: List is not empty
Processing complete: 1 values remaining

Wenn der Name des Datensatzes "Error Values" lautet und der einzige Wert -50 ist, sollte dein Programm Folgendes ausgeben:

Dataset: Error Values
Original data: [-50]
Step 1: Inserted 100 at beginning
After insertion: [100, -50]
Step 2: Removed negative numbers
After removal: [100]
Step 3: Sorted in ascending order
After sorting: [100]
Final result: List is not empty
Processing complete: 1 values remaining

Dein Programm muss alle Operationen in der genau angegebenen Reihenfolge ausführen: Zuerst insert() den Wert 100 an Position 0 einfügen, dann removeWhere() verwenden, um negative Zahlen zu entfernen, anschließend die Liste mit sort() sortieren und schließlich prüfen, ob die Liste isEmpty ist. Gib „Liste ist leer“ aus, wenn die endgültige Liste keine Elemente enthält, oder „Liste ist nicht leer“, wenn sie Elemente enthält.

Probier es selbst

import 'dart:io';

void main() {
  // Datensatznamen lesen
  String? datasetName = stdin.readLineSync();
  
  // Zahlen lesen, bis -999 eingegeben wird
  List<int> originalData = [];
  while (true) {
    int? number = int.parse(stdin.readLineSync()!);
    if (number == -999) {
      break;
    }
    originalData.add(number);
  }
  
  // Anfängliche Informationen ausgeben
  print('Dataset: $datasetName');
  print('Original data: $originalData');
  
  // TODO: Schreiben Sie Ihren Code unten
  // 1. 100 am Anfang einfügen (Position 0)
  // 2. Alle negativen Zahlen mit removeWhere() entfernen
  // 3. Die Liste mit sort() aufsteigend sortieren
  // 4. Mit isEmpty prüfen, ob die Liste leer ist
  // 5. Die Ergebnisse im erforderlichen Format ausgeben
  
}

Alle Lektionen in Logik & Ablauf

Übe selbstständig: Online-Dart-Compiler