Array list?? Namenausgabe nach Typ?

1 Antwort

Vom Beitragsersteller als hilfreich ausgezeichnet

Um die Eingaben in der ArrayList zu speichern, kannst du die add-Methode verwenden, um Player-Objekte der ArrayList hinzuzufügen. Der Code könnte wie folgt aussehen:

players.add(new Player(name, role));

Um die Namen der Spieler nach Rollen getrennt auszugeben, kannst du die ArrayList durchlaufen und für jedes Player-Objekt prüfen, ob die Rolle "O" oder "I" ist. Wenn die Rolle "O" ist, kannst du den Namen des Spielers unter "Offenders" ausgeben, andernfalls kannst du den Namen unter "Invaders" ausgeben. Der Code könnte wie folgt aussehen:

System.out.println("\nOffenders:");


for (Player player : players) {


if (player.getRole().equals("O")) {


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


}


}


System.out.println("\nInvaders:");


for (Player player : players) {


if (player.getRole().equals("I")) {


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


}


}

Hier ist ein vollständiger Beispielcode für die Klasse Main, der die oben beschriebenen Änderungen enthält:

import java.util.ArrayList;
import java.util.Scanner;


public class Main {


    public static void main(String[] args) {


        ArrayList<Player> players = new ArrayList<Player>();


        Scanner keyScan = new Scanner(System.in);


        for (int i=0; i<5; i++) {


            System.out.print("Name: ");
            String name = keyScan.nextLine();


            System.out.print("Role (O or I): ");
            String role = keyScan.nextLine();


            // Hinzufügen des Players zur ArrayList
            players.add(new Player(name, role));
        }


        System.out.println("\nOffenders:");


        // Ausgabe der Namen aller Offenders
        for (Player player : players) {
            if (player.getRole().equals("O")) {
                System.out.println(player.getName());
            }
        }


        System.out.println("\nInvaders:");


        // Ausgabe der Namen aller Invaders
        for (Player player : players) {
            if (player.getRole().equals("I")) {
                System.out.println(player.getName());
            }
        }


        keyScan.close();
    }
}

Ich hoffe, dass diese Informationen hilfreich sind. Bitte lass mich wissen, wenn du weitere Fragen hast.


codegirl81 
Beitragsersteller
 11.12.2022, 00:00

Vielen lieben Dank für deine hilfreiche Antwort auf mein Problem! Ich bin relativ neu hier bei dem Forum und bin begeistert wie engagiert die Leute hier einem helfen! Einfach nur toll! Verstehe alles bei deiner Antwort ausser die Methode mit den for (Player player : player) noch nicht. bis jetzt habe ich das einer counter Variable gelöst. for (i=0; i<5; i++). Aber werde nun einmal deine Methode studieren und lernen. Liebe Grüsse und nochmals besten Dank !