有人可以帮我吗?我是这个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());
}
}
公共类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,如果是,则将引发异常。