Menu
Coddy logo textTech

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, müssen Sie manchmal überprüfen, ob alle Elemente in einer Liste eine bestimmte Anforderung erfüllen. Die every()-Methode bietet diese Funktionalität, indem sie jedes einzelne Element gegen Ihre Bedingung prüft und true nur dann zurückgibt, wenn alle bestehen.

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];

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

Diese Methode ist besonders nützlich für Validierungsszenarien, in denen Sie sicherstellen müssen, dass alle Elemente bestimmte Kriterien erfüllen, bevor Sie fortfahren. Die every()-Methode bricht die Prüfung ab, sobald sie ein Element findet, das den Test nicht besteht, was sie für große Listen effizient macht, bei denen Sie eine universelle Übereinstimmung benötigen.

challenge icon

Aufgabe

Einfach

Erstellen Sie ein Programm, das ein Qualitätskontrollsystem verwaltet, indem es überprüft, ob alle Produkte in einer Charge die erforderlichen Standards erfüllen. Ihr Programm sollte:

  1. Einen String einlesen, der den Fabriknamen darstellt
  2. Mehrere Ganzzahlen einlesen, die die Qualitätsbewertungen der Produkte darstellen (die Eingabe endet, wenn Sie -1 erhalten)
  3. Eine Ganzzahl einlesen, die den Schwellenwert für den Mindestqualitätsstandard darstellt
  4. Die Methode every() verwenden, um zu prüfen, ob alle Produktbewertungen größer oder gleich dem Mindestschwellenwert sind
  5. Die Ergebnisse der Qualitätskontrolle in dem unten gezeigten exakten Format ausgeben

Wenn zum Beispiel der Fabrikname "Electronics Factory" ist, die Qualitätsbewertungen 85, 92, 78, 88, 95 sind und der Mindestschwellenwert 75 ist, sollte Ihr 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 Fabrikname "Textile Mill" ist, die Qualitätsbewertungen 68, 82, 74, 91 sind und der Mindestschwellenwert 70 ist, sollte Ihr 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 Fabrikname "Food Processing" ist, die Qualitätsbewertungen 95, 98, 92 sind und der Mindestschwellenwert 90 ist, sollte Ihr 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

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

Spickzettel

Die Methode every() prüft, ob alle Elemente in einer Liste eine bestimmte Bedingung erfüllen. Sie gibt nur dann true zurück, wenn jedes Element den Test besteht, und false, wenn ein beliebiges Element fehlschlägt.

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

// Check if all students passed (score > 60)
bool allPassed = examScores.every((score) => score > 60);
print(allPassed);  // true

Die Methode every() hört mit der Prüfung auf, sobald sie ein Element findet, das den Test nicht besteht. Dies macht sie effizient für große Listen, bei denen eine universelle Übereinstimmung erforderlich ist.

Probier es selbst

import 'dart:io';

void main() {
  // Fabrikname lesen
  String? factoryName = stdin.readLineSync();
  
  // Qualitätsbewertungen lesen, bis -1 eingegeben wird
  List<int> qualityScores = [];
  while (true) {
    int score = int.parse(stdin.readLineSync()!);
    if (score == -1) {
      break;
    }
    qualityScores.add(score);
  }
  
  // Mindestschwellenwert lesen
  int minThreshold = int.parse(stdin.readLineSync()!);
  
  // TODO: Schreiben Sie Ihren Code unten
  // Verwenden Sie die every()-Methode, um zu prüfen, ob alle Bewertungen den Mindeststandard erfüllen
  
  // Ergebnisse im erforderlichen 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 und den endgültigen Status anzeigen
}
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