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

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

  1. Einen String-Input einlesen, der den Namen des Datensatzes darstellt
  2. Mehrere Integer-Inputs einlesen, welche die ursprünglichen Datenwerte darstellen (die Eingabe endet, wenn Sie -999 erhalten)
  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() in aufsteigender Reihenfolge sortieren
  6. Mithilfe von isEmpty prüfen, ob die finale Liste leer ist
  7. Die Ergebnisse der Datenverarbeitung im exakt unten gezeigten Format ausgeben

Wenn der Datensatzname beispielsweise "Sales Data" lautet und die Werte 45, -12, 78, -5, 23 sind, sollte Ihr 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 Datensatzname "Temperature Readings" lautet und die Werte -10, -5, -20 sind, sollte Ihr 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 Datensatzname "Error Values" lautet und der einzige Wert -50 ist, sollte Ihr 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

Ihr Programm muss alle Operationen in der exakt angegebenen Reihenfolge ausführen: Zuerst den Wert 100 an Position 0 mit insert() einfügen, dann removeWhere() verwenden, um negative Zahlen zu entfernen, dann die Liste mit sort() sortieren und schließlich prüfen, ob die Liste isEmpty ist. Geben Sie "List is empty" aus, wenn die finale Liste keine Elemente enthält, oder "List is not empty", 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