Menu
CoddyTech

Bedingungen mit 'every'

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

Während any() prüft, ob mindestens ein Element eine Bedingung erfüllt, musst du manchmal überprüfen, ob alle Elemente in einer Liste eine bestimmte Anforderung erfüllen. Die Methode every() bietet diese Funktionalität, indem sie jedes einzelne Element anhand deiner Bedingung testet und nur dann true zurückgibt, wenn alle die Bedingung erfüllen.

Die Methode every() nimmt eine Testfunktion entgegen, die für jedes Element true oder false zurückgibt. Wenn ein Element den Test nicht besteht, gibt every() sofort false zurück. Nur wenn jedes Element den Test besteht, gibt sie true zurück.

List<int> examScores = [75, 82, 68, 91, 77];

// Prüfen, ob alle Schüler bestanden haben (score > 60)
bool allPassed = examScores.every((score) => score > 60);
print(allPassed);  // true

Diese Methode ist besonders nützlich für Validierungsszenarien, in denen du sicherstellen musst, dass alle Elemente bestimmte Kriterien erfüllen, bevor du fortfährst. Die Methode every() beendet die Prüfung, sobald sie ein Element findet, das den Test nicht besteht. Dadurch ist sie bei großen Listen effizient, wenn alle Elemente die Kriterien erfüllen müssen.

challenge icon

Aufgabe

Einfach

Erstelle ein Programm, das ein Qualitätskontrollsystem verwaltet, indem es überprüft, ob alle Produkte einer Charge die erforderlichen Standards erfüllen. Dein Programm soll:

  1. Eine String-Eingabe lesen, die den Namen des Werks darstellt
  2. Mehrere ganzzahlige Eingaben lesen, die die Qualitätsbewertungen der Produkte darstellen (die Eingabe endet, wenn du -1 erhältst)
  3. Eine ganzzahlige Eingabe lesen, die den Mindestschwellenwert des Qualitätsstandards darstellt
  4. Die Methode every() verwenden, um zu überprüfen, ob alle Produktbewertungen größer oder gleich dem Mindestschwellenwert sind
  5. Die Ergebnisse der Qualitätskontrolle exakt im unten gezeigten Format ausgeben

Wenn der Werksname beispielsweise "Electronics Factory" lautet, die Qualitätsbewertungen 85, 92, 78, 88, 95 sind und der Mindestschwellenwert 75 beträgt, sollte dein Programm Folgendes ausgeben:

Factory: Electronics Factory
Quality scores: [85, 92, 78, 88, 95]
Minimum standard: 75
Checking if all scores >= 75
All products passed: true
Status: Batch approved for shipment

Wenn der Werksname "Textile Mill" lautet, die Qualitätsbewertungen 68, 82, 74, 91 sind und der Mindestschwellenwert 70 beträgt, sollte dein Programm Folgendes ausgeben:

Factory: Textile Mill
Quality scores: [68, 82, 74, 91]
Minimum standard: 70
Checking if all scores >= 70
All products passed: false
Status: Batch rejected - quality improvement required

Wenn der Werksname "Food Processing" lautet, die Qualitätsbewertungen 95, 98, 92 sind und der Mindestschwellenwert 90 beträgt, sollte dein Programm Folgendes ausgeben:

Factory: Food Processing
Quality scores: [95, 98, 92]
Minimum standard: 90
Checking if all scores >= 90
All products passed: true
Status: Batch approved for shipment

Dein Programm muss die Methode every() verwenden, um zu überprüfen, ob alle Qualitätsbewertungen größer oder gleich dem Mindestschwellenwert sind. Gib "Batch approved for shipment" aus, wenn alle Produkte den Standard erfüllen, oder "Batch rejected - quality improvement required", wenn ein Produkt die Mindestanforderung nicht erfüllt.

Probier es selbst

import 'dart:io';

void main() {
  // Fabriknamen einlesen
  String? factoryName = stdin.readLineSync();
  
  // Qualitätswerte einlesen, bis -1 erreicht wird
  List<int> qualityScores = [];
  while (true) {
    int score = int.parse(stdin.readLineSync()!);
    if (score == -1) {
      break;
    }
    qualityScores.add(score);
  }
  
  // Mindestschwellenwert einlesen
  int minThreshold = int.parse(stdin.readLineSync()!);
  
  // TODO: Schreibe deinen Code unten
  // Mit der Methode every() prüfen, ob alle Werte den Mindeststandard erfüllen
  
  // Ergebnisse im geforderten Format ausgeben
  print('Factory: $factoryName');
  print('Quality scores: $qualityScores');
  print('Minimum standard: $minThreshold');
  print('Checking if all scores >= $minThreshold');
  // Ausgeben, ob alle Produkte bestanden haben, sowie den endgültigen Status
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf

Übe selbstständig: Online-Dart-Compiler