Java 方法中ArrayList的和
我不熟悉编码。我的任务是获取播放列表中所有曲目的总持续时间(秒)。另一个类中有一个名为getDur的访问器方法。还有一个toString方法,它将所有内容转换为秒。这是我的密码Java 方法中ArrayList的和,java,arraylist,Java,Arraylist,我不熟悉编码。我的任务是获取播放列表中所有曲目的总持续时间(秒)。另一个类中有一个名为getDur的访问器方法。还有一个toString方法,它将所有内容转换为秒。这是我的密码 private ArrayList<Track> tracksN; public int getDurTotal() { for (Track b: tracksN) { int sum = 0; for (int i=0; i<tracksN.size
private ArrayList<Track> tracksN;
public int getDurTotal()
{
for (Track b: tracksN)
{
int sum = 0;
for (int i=0; i<tracksN.size();i++)
{
sum += tracks.get(getDur(i));
}
}
return sum;
}
private ArrayList tracksN;
公共整数getDurTotal()
{
用于(轨道b:轨道SN)
{
整数和=0;
对于(int i=0;i您需要从列表中获取曲目,然后调用getDur
。尝试以下操作:
private ArrayList<Track> tracksN;
public int getDurTotal()
{
for (Track b: tracksN)
{
int sum = 0;
for (int i=0; i<tracksN.size();i++)
{
sum += getDur(tracks.get(i));
}
}
return sum;
}
private ArrayList tracksN;
公共整数getDurTotal()
{
用于(轨道b:轨道SN)
{
整数和=0;
对于(int i=0;i此问题的答案在错误本身中;请重新阅读。播放列表无法应用于给定类型。必需:无参数
意思是你用参数i
调用了getDur(i)
但是如果您可以滚动代码并找到方法getDur
,则不需要任何参数
我打赌它看起来像是getDur(){
之类的东西,我假设它的返回类型是int
因此,如果您可以为您的类显示代码播放列表
,也许有人可以帮助您正确地实现代码。您的代码将在曲目列表上迭代两次。需要执行其中一个for循环。或者:
int sum = 0;
for (int i = 0; i < tracksN.size(); i++) {
Track track = tracksN.get(i);
sum += track.getDur();
}
在这两种方法中,第二种方法更好,因为它可以正确地(以良好的性能)处理所有列表类型,而不仅仅是ArrayList。它也更简单。您只需要为循环使用一种方法
int sum = 0;
for (Track track : tracksN)
{
sum += track.getDur();
}
return sum;
我认为这是Java,而不是javascript
您想要计算一个和。但是,在for循环中,sum变量被声明并设置为0。因此在每次迭代时它都被设置为0。您想要添加到和中的是当前轨迹的持续时间。当前轨迹在变量中(非常糟糕)命名为b
。在for循环中没有看到for循环。一个循环就足够了:对于曲目列表中的每个当前机架,将当前曲目的持续时间相加。欢迎使用编码!提示:如果您拼出整个单词,而不是中途停止,通常更容易理解您所写的内容-例如,“持续时间”而不是“dur”。
int sum = 0;
for (Track track : tracksN)
{
sum += track.getDur();
}
return sum;