Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 很难准确地找到平均时间_Java_Time - Fatal编程技术网

Java 很难准确地找到平均时间

Java 很难准确地找到平均时间,java,time,Java,Time,我正在为我的大学作业做一个项目,我正在努力准确地找到我的项目的平均歌曲时长 我将输入3:33的持续时间三次,并从arrayList获取输入,它将返回3:33的结果。然而,我得到的结果是3:19 我不太确定我会错在哪里,我尝试过在这里和那里改变事情,但仍然得到同样的结果 public void display() { String durationTemp = ""; String durationStr = ""; double durationDbl = 0;

我正在为我的大学作业做一个项目,我正在努力准确地找到我的项目的平均歌曲时长

我将输入3:33的持续时间三次,并从arrayList获取输入,它将返回3:33的结果。然而,我得到的结果是3:19

我不太确定我会错在哪里,我尝试过在这里和那里改变事情,但仍然得到同样的结果

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
与时间有什么关联?