Java记录视频学习时长

介绍

在现代社会,学习成为了我们生活中不可或缺的一部分。而视频学习成为了一种流行的学习方式。但是,我们如何记录视频学习的时长呢?本文将介绍如何使用Java编写一个简单的应用程序来记录视频学习的时长。

功能需求

我们的应用程序需要满足以下功能需求:

  • 记录视频学习的时长,包括总时长和每个视频的时长。
  • 可以添加、编辑和删除视频。
  • 可以查看视频学习的统计信息,包括总时长和每个视频的时长。

类设计

我们可以使用面向对象的思想来设计我们的应用程序。下面是我们的类设计:

classDiagram
    class Video {
        +String title
        +int duration
    }

    class VideoRecord {
        +List<Video> videos
        +void addVideo(String title, int duration)
        +void editVideo(String title, int duration)
        +void deleteVideo(String title)
        +int getTotalDuration()
        +int getVideoDuration(String title)
    }

    class Main {
        +static void main(String[] args)
    }

    VideoRecord <-- Video
    Main --> VideoRecord
  • Video类表示一个视频,包含标题和时长属性。
  • VideoRecord类表示视频记录,包含视频列表和相关操作方法。
  • Main类是我们的应用程序的入口点。

代码实现

下面是我们的代码实现:

import java.util.ArrayList;
import java.util.List;

class Video {
    private String title;
    private int duration;

    public Video(String title, int duration) {
        this.title = title;
        this.duration = duration;
    }

    public String getTitle() {
        return title;
    }

    public int getDuration() {
        return duration;
    }
}

class VideoRecord {
    private List<Video> videos;

    public VideoRecord() {
        videos = new ArrayList<>();
    }

    public void addVideo(String title, int duration) {
        videos.add(new Video(title, duration));
    }

    public void editVideo(String title, int duration) {
        for (Video video : videos) {
            if (video.getTitle().equals(title)) {
                video.duration = duration;
                break;
            }
        }
    }

    public void deleteVideo(String title) {
        for (Video video : videos) {
            if (video.getTitle().equals(title)) {
                videos.remove(video);
                break;
            }
        }
    }

    public int getTotalDuration() {
        int totalDuration = 0;
        for (Video video : videos) {
            totalDuration += video.getDuration();
        }
        return totalDuration;
    }

    public int getVideoDuration(String title) {
        for (Video video : videos) {
            if (video.getTitle().equals(title)) {
                return video.getDuration();
            }
        }
        return 0;
    }
}

public class Main {
    public static void main(String[] args) {
        VideoRecord record = new VideoRecord();
        record.addVideo("Java Basics", 60);
        record.addVideo("Java OOP", 120);
        record.addVideo("Java Collections", 90);

        System.out.println("Total duration: " + record.getTotalDuration());
        System.out.println("Java Basics duration: " + record.getVideoDuration("Java Basics"));

        record.editVideo("Java Collections", 100);
        System.out.println("Java Collections duration after edit: " + record.getVideoDuration("Java Collections"));

        record.deleteVideo("Java OOP");
        System.out.println("Total duration after delete: " + record.getTotalDuration());
    }
}

序列图

下面是应用程序的添加视频和获取总时长的序列图:

sequenceDiagram
    participant User
    participant Application

    User->>Application: addVideo("Java Basics", 60)
    Application->>VideoRecord: addVideo("Java Basics", 60)
    VideoRecord->>Video: new Video("Java Basics", 60)
    VideoRecord->>Application: Success

    User->>Application: getTotalDuration()
    Application->>VideoRecord: getTotalDuration()
    VideoRecord->>Video: getDuration()
    Video->>VideoRecord: return duration
    VideoRecord->>Application: return total duration

总结

通过使用Java编写一个简单的应用程序,我们可以很容易地记录视频学习的时长,并进行相关的操作。这种记录方式可以帮助我们更好地管理和统计视频学习的时长,提高学习效率。

希望本文能够帮助你了解如何使用Java编写一个简单