如何将总时间添加到数组列表中? (使用LocalTime类)

问题描述 投票:0回答:1

有人可以帮我吗?我是这个LocalTime课程的新手。我创建了一个使用LocalTime.of方法返回时间的类。我将使用of()方法而不是parse()方法,因为我将很快创建一个完全像http://www.easysurf.cc/tmadd.htm的项目。但是,具有其他功能,例如发送ListView中的所有时间输入,然后单击“添加”按钮,对话框将显示出来,打印出ListView中显示的总时间。

这只是一个使自己熟悉LocalTime类的练习代码。由于我将添加多个时间类,因此将其放在arraylist中。然后循环此arraylist,但是我被困在如何将总时间添加到arraylist中。

这是我的代码:

import java.time.LocalTime;

public class TimeClass {

    LocalTime ctime;
    private int hour, min, sec;
    private String parseString;

    public TimeClass(int h, int m, int s) {
        this.hour = h;
        this.min = m;
        this.sec = s;
        this.ctime = LocalTime.of(this.hour,this.min,this.sec);
    }

    public LocalTime getCtime() {
        return this.ctime;
    }

     @Override
public String toString() {
    return  this.hour + ":" + this.min + ":" + this.sec;

}

主类:

public static void main(String[] args) {

    TimeClass time1 = new TimeClass(2,12,5);
    TimeClass time2 = new TimeClass(3,5,5);

    List<TimeClass> list = new ArrayList<>();
    list.add(time1);
    list.add(time2);

    int sum=0;
    for(TimeClass t : list) {
        System.out.println(t.getCtime());

    }

}
java localtime
1个回答
0
投票

公共类TimeClass {

public static void main(String... strings) {
    TimeClass1 time1 = new TimeClass1(12, 12, 5);
    TimeClass1 time2 = new TimeClass1(13, 50, 5);

    List<TimeClass1> list = new ArrayList<>();
    list.add(time1);
    list.add(time2);

    int min = 0;
    int hour = 0;
    int sec = 0;
    for (TimeClass1 t : list) {
        LocalTime time = t.getCtime();
        System.out.println(time);
        hour = hour + time.getHour();
        min = min + time.getMinute();
        sec = sec + time.getSecond();
    }
    min += sec / 60;
    sec = sec % 60;
    hour += min / 60;
    min = min % 60;

    System.out.println(getTime(hour, min, sec));
}

private static String getTime(int hour, int min, int sec) {
    return new StringBuilder().append(hour).append(":").append(min).append(":").append(sec).toString();
}

}

您也可以在LocalTime对象中添加这些时间,但是每分钟不能超过59的限制,我们可以通过%,但小时数也不能超过23,如果是,则将引发异常。

© www.soinside.com 2019 - 2024. All rights reserved.