2017-05-14 120 views
-1

我有一个方法的描述,但我不明白如何正确输入。方法的描述

/** 
* 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);   

    } 

} 

但我不明白如何完成安排的路线。

我很感谢你的帮助。

+0

请勿对非JavaScript代码使用JavaScript代码段。 –

+0

你不能在Java中使用像ArrayList这样的动态结构,它会让你的工作更容易 – zenwraight

+0

保持全局ArrayList array = new ArrayList ();这样的事情,然后你可以很容易做array.push(新Artista()) – zenwraight

回答

0

我觉得你的更新工作的解决方案应该是这样的

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

    } 

} 

希望这有助于!

+0

OP几乎肯定不会在每次调用addArtist时都替换数组中的每个元素,就像您在此处所做的那样。 – Dukeling

+0

@Dukeling真的,我同意他的逻辑是错误的,但我只是试图解决他关于数组溢出时添加新对象的问题。一旦他知道增加阵列大小的方法,那么他可以按照他的逻辑工作并以任何他想要的格式获得输出。 – zenwraight

0

如果您只是需要在最后找到第一个空索引,则应该足以检查null,因为对象数组使用null进行初始化。

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

请注意:上面的代码将不再有效,如果有一个null值某处其间阵列中的两个Artista对象。在这种情况下,新的Artista将被插入到该索引中。