2017-05-14 2 views
-1

Ich habe eine Beschreibung einer Methode, aber ich verstehe nicht, wie man es richtig setzt.Beschreibung einer Methode

/** 
* Add an artist to Karaoke<br> 
* Find the end of the artist arrangement and add the new artist  to that position.<br> 
*/ 

public void addArtist(String name, String category, String image) { 

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

    artistas[i] = new Artista(name, category, image);   

    } 

} 

Aber ich verstehe nicht, wie Sie die Route der Anordnung abschließen.

Ich schätze Ihre Hilfe im Voraus.

+0

Bitte verwenden Sie keine JavaScript-Snippets für nicht-JavaScript-Code. –

+0

Kannst du keine dynamische Struktur wie ArrayList in Java verwenden, die deine Arbeit erleichtern würde? – zenwraight

+0

Behalte eine globale ArrayList array = new ArrayList (); etwas wie das und dann können Sie leicht array.push (new Artista()) – zenwraight

Antwort

0

Ich denke, Ihre aktualisierte Arbeitslösung wie diese

public void addArtist(String name, String category, String image) { 
    artista = Arrays.copyOf(artista, artista.length + 1); 
    for (int i = 0; i < artistas.length; i++) { 

    artistas[i] = new Artista(name, category, image);   

    } 

} 

hoffe, das hilft aussehen würde!

+0

OP möchte fast sicher nicht jedes Element im Array jedes Mal ersetzen, wenn addArtist aufgerufen wird, wie Sie es hier getan haben. – Dukeling

+0

@Dukeling stimmt, ich stimme zu, dass seine Logik falsch ist, aber ich habe nur versucht, sein Problem mit Array-Überlauf zu beheben, wenn er ein neues Objekt hinzufügt. Sobald er die Art und Weise kennt, wie er seine Array-Größe erhöhen kann, kann er an seiner Logik arbeiten und die Ausgabe in dem von ihm gewünschten Format erhalten. – zenwraight

0

Wenn Sie nur den ersten leeren Index am Ende finden müssen, sollte es ausreichen, nach null zu suchen, weil Objekt-Arrays mit null initialisiert werden.

public void addArtist(String name, String category, String image) { 
    for (int i = 0; i < artistas.length; i++) { 
     if(artistas[i] == null) { 
      artistas[i] = new Artista(name, category, image); 
      break; 
     }   
    } 
} 

Vorsicht: Der obige Code wird nicht mehr funktionieren, wenn es eine ist null Wert irgendwo dazwischen zwei Artista Objekte in der Anordnung. In diesem Fall wird stattdessen der neue Artista in diesen Index eingefügt.

Verwandte Themen