Java 很难准确地找到平均时间
我正在为我的大学作业做一个项目,我正在努力准确地找到我的项目的平均歌曲时长 我将输入3:33的持续时间三次,并从arrayList获取输入,它将返回3:33的结果。然而,我得到的结果是3:19 我不太确定我会错在哪里,我尝试过在这里和那里改变事情,但仍然得到同样的结果Java 很难准确地找到平均时间,java,time,Java,Time,我正在为我的大学作业做一个项目,我正在努力准确地找到我的项目的平均歌曲时长 我将输入3:33的持续时间三次,并从arrayList获取输入,它将返回3:33的结果。然而,我得到的结果是3:19 我不太确定我会错在哪里,我尝试过在这里和那里改变事情,但仍然得到同样的结果 public void display() { String durationTemp = ""; String durationStr = ""; double durationDbl = 0;
public void display()
{
String durationTemp = "";
String durationStr = "";
double durationDbl = 0;
double durationTotal = 0;
double durationAvg = 0;
double time = 0;
int minutes = 0;
int seconds = 0;
if (songCount > 0)
{
displayHeading();
for (int i = 0; i < songCount; i++)
{
displayTextArea.append(songsArrayList.get(i).toString());
appendLine();
durationTemp = songsArrayList.get(i).getDuration();
durationStr = durationTemp.replace(':','.');
durationDbl = Double.parseDouble(durationStr);
durationTotal = durationTotal + durationDbl;
durationAvg = durationTotal / songCount;
}
time = (int)(100 * durationAvg);
minutes = (int)(time/100);
seconds = (int)(60 * (time%100));
displayTextArea.append("average song duration: " + minutes + ":" + seconds);
}
else
{
displayError("No songs have been entered");
}
}
public void display()
{
字符串durationTemp=“”;
字符串durationStr=“”;
双持续时间DBL=0;
双持续时间总计=0;
双持续时间平均值=0;
双倍时间=0;
整数分钟=0;
整数秒=0;
如果(歌曲数>0)
{
显示标题();
对于(int i=0;i
3.33分钟等于199.8秒,
而3分33秒等于213秒。
你不能(或不应该)仅仅用
替换:
计算没有意义
durationAvg=durationTotal/songCount;
当你在for循环中时。在室外做一次。3.33分钟等于199.8秒, 而3分33秒等于213秒。 你不能(或不应该)仅仅用
替换:
计算没有意义
durationAvg=durationTotal/songCount;
当你在for循环中时。在外面做一次。为什么你先乘以100,然后再除以100?
100
与时间有什么关联?为什么你要乘以100然后除以100?100
与时间有什么关联?