Java: Wie kann ich die Namen der Personen ausgeben, die ein Mindestalter erfüllen?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Um die Namen aller Personen auszugeben, die das Mindestalter erfüllen, können Sie eine Schleife verwenden, um jedes Element im Array personen zu durchlaufen und zu prüfen, ob es das Mindestalter erfüllt. Wenn es das Mindestalter erfüllt, können Sie den Namen der Person mithilfe der getName()-Methode ausgeben.

Hier ist ein Beispiel für eine mögliche Implementierung:

Copy code

for (int i = 0; i < personen.length; i++) {

Person p = personen[i];

if (p.getAlter() >= min) {

System.out.println(p.getName());

}

}

In der obigen Schleife wird zunächst eine Variable i initialisiert, die als Index für das Array personen verwendet wird. Die Schleife wird so lange ausgeführt, wie der Index kleiner als die Länge des Arrays ist. In jedem Schleifendurchlauf wird das Element im Array an der Stelle i in eine lokale Variable p kopiert und dann überprüft, ob das Alter der Person größer oder gleich dem Mindestalter ist. Wenn dies der Fall ist, wird der Name der Person mithilfe der getName()-Methode ausgegeben.

Woher ich das weiß:Recherche

Pablo100  08.12.2022, 21:54

Wie wäre es mit:

import java.util.Scanner;

public class Main {

  public static void main(String[] args) {

    Scanner keyScan = new Scanner(System.in);

    Person[] personen = new Person[5];

    personen[0] = new Person("Hans", 12);

    personen[1] = new Person("Peter", 23);

    personen[2] = new Person("Klara", 34);

    personen[3] = new Person("Berta", 15);

    personen[4] = new Person("Ulf", 5);

    System.out.print("Bitte Mindestalter eingeben: ");

    int min = keyScan.nextInt();  

    // TODO: Namen aller Personen ausgeben, welche das Mindestalter erfüllen

    for (Person person : personen) {

      if (person.getAlter() >= min) {

        System.out.println(person.getName());

      }

    }

    keyScan.close();

  }

}

public class Person {

  private String name;

  private int alter;

  public Person(String name, int alter) {

    this.name = name;

    this.alter = alter;

  }

  public String getName() {

    return name;

  }

  public int getAlter() {

    return alter;

  }

}

1
codegirl81 
Fragesteller
 09.12.2022, 15:03
@Pablo100

Die For-Schleife verstehe Ihrer Antwort leider nicht. person : personen. Den Rest des Code verstehe ich ;) Vielen Dank für die Hilfe.

0
codegirl81 
Fragesteller
 09.12.2022, 14:58

Vielen Dank für die sehr hilfreiche Antwort. Ich habe immer diese Zeile hier vergessen:

Person p = personen[i]

Dann funktionierte die Getter-Methode mit dem Alter nicht.

Was genau macht die obenstehende Zeile? Sie speichert die Daten des jeweiligen Objekt (also beide Attribute Alter und Name in der Variable p) ?

Und erst danach wird das Alter geprüft mit der getName Methode? Nur um sicher zu gehen, dass ich es richtig verstehe. So oder so besten Dank! Liebe Grüsse

0
codegirl81 
Fragesteller
 09.12.2022, 15:04

Vielen Dank für die sehr hilfreiche Antwort. Ich habe immer diese Zeile hier vergessen:

Person p = personen[i]

Dann funktionierte die Getter-Methode mit dem Alter nicht.

Was genau macht die obenstehende Zeile? Sie speichert die Daten des jeweiligen Objekt (also beide Attribute Alter und Name in der Variable p) ?

Und erst danach wird das Alter geprüft mit der getName Methode? Nur um sicher zu gehen, dass ich es richtig verstehe. So oder so besten Dank! Liebe Grüsse

0