Objekt aus einem Array löschen

Hieu

Aktives Mitglied
Code:
                   private static void herolöschen() {
                       System.out.println("\nWelcher Hero soll gelöscht werden?\n\n(1) " + team[0].getName() + "\n(2) " + team[1].getName() + "\n(3) "+ team[2].getName() + "\n(4) "+ team[3].getName() + "\n(5) " + team[4].getName());
                       Scanner scanner7 = new Scanner(System.in);
                       String v = scanner7.nextLine();
                       switch(v) {
                       case "1" :  Superhero[] newteam = {team[1],team[2],team[3],team[4]};
                                   newteam = new Superhero[5];
                                   team = newteam;

hallo ich würde gerne einen Eintrag aus einem Array löschen und ich hab es mal soo probiert aber wenn ich dann nach dem löschen die Elemente aus dem Array anzeigen lassen will kommt da eine Fehlermeldung

die Arrays ( hab ich schon oben in der Klasse static initialisiert)
 
kommt da eine Fehlermeldung
Immer dazuschreiben, welche.

Java:
Superhero[] newteam = {team[1],team[2],team[3],team[4]};
newteam = new Superhero[5];
bringt es jetzt nicht wirklich: in der ersten Zeile legst Du ein neues Array mit vier Elementen an und weist es der Variablen newteam zu und in der zweiten überschreibst Du die Variable mit einem neuen (leeren) Array, das 5 Elementen aufnehmen kann.

Außerdem ist es keine gute Idee, davon auszugehen, dass Dein Array immer eine Größe von 5 hat. Das kann man dynamisch lösen.

Java:
public void delete(Superhero[] heros, int ixToDelete) {
    int i = ixToDelete;
    while (i < heros.length - 1) {
        heros[i] = heros[i+1];
        i++;
    }
    heros[i] = null;
}
 

Zurück
Oben