gpt4 book ai didi

java - 更新日历

转载 作者:行者123 更新时间:2023-11-30 07:06:41 25 4
gpt4 key购买 nike

我对编程相当陌生,目前正在学习它的整个面向对象方面。但我对如何更新我的日历对象一无所知。不太确定我的更新方法需要什么来更新日历。下面是我正在使用的两个类。

public class Time {
private int hour;
private int minute;
private int second;
Calendar cal = Calendar.getInstance();

public Time(){
Calendar cal = Calendar.getInstance();
this.hour = cal.get(Calendar.HOUR_OF_DAY);
this.minute = cal.get(Calendar.MINUTE);
this.second = cal.get(Calendar.SECOND);
}
public int getHour(){
return this.hour;
}
public int getMinute(){
return this.minute;
}
public int getSecond(){
return this.second;
}
public String toString(){
return this.hour + ":" + this.minute + ":" + this.second;
}
public void update(){
cal.setTime(new Date());
}
}

这是我的主要类(class):

public class Exercise2b {
public void demo() {
String message1, message2;
int hour, minute, second;
Time dt = new Time();
hour = dt.getHour();
minute = dt.getMinute();
second = dt.getSecond();
message1 = "Klockan är " + minute + " minuter över " + hour + " (+" + second + " sekunder)";
message2 = dt.toString();
JOptionPane.showMessageDialog(null, message1);
JOptionPane.showMessageDialog(null, message2);
dt.update();
message2 = dt.toString();
JOptionPane.showMessageDialog(null, message2);
}

public static void main(String[] args) {
Exercise2b prog = new Exercise2b();
prog.demo();
}
}

任何帮助将不胜感激!

最佳答案

在更新函数中,您仅更新 cal 的实例。您还必须更新小时、分钟和秒变量。你可以这样做。

public void update(){
cal.setTime(new Date());
this.hour = cal.get(Calendar.HOUR_OF_DAY);
this.minute = cal.get(Calendar.MINUTE);
this.second = cal.get(Calendar.SECOND);
}

要获得时间差,您可以使用Thread.Sleep()

import javax.swing.*;
public class Exercise2b {
public void demo() {
String message1, message2;
int hour, minute, second;
Time dt = new Time();
hour = dt.getHour();
minute = dt.getMinute();
second = dt.getSecond();
message1 = "Klockan är" +minute+"minuter över"+hour+"(+"+second+"sekunder)";
message2 = dt.toString();
JOptionPane.showMessageDialog(null, message1);
JOptionPane.showMessageDialog(null, message2);

try
{
Thread.sleep(5000);
}
catch(Exception e)
{
System.out.println("Exception Occured");
}

dt.update();

message2 = dt.toString();
JOptionPane.showMessageDialog(null, message2);

}

public static void main(String[] args) {
Exercise2b prog = new Exercise2b();
prog.demo();
}
}

关于java - 更新日历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39982455/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com