Java日历只打印零
当我尝试运行这段代码时,我可能会非常失望,因为结果不符合我的预期。为什么结果都是0,有人能给我一个精辟的答案和如何正确使用日历吗 调用Java日历只打印零,java,Java,当我尝试运行这段代码时,我可能会非常失望,因为结果不符合我的预期。为什么结果都是0,有人能给我一个精辟的答案和如何正确使用日历吗 调用setCurrent()。现在还没用 public class JavaCalender { int hour, minute, second; public void setCurrent() { Calendar calendar = new GregorianCalendar(); this.hour = c
setCurrent()
。现在还没用
public class JavaCalender {
int hour, minute, second;
public void setCurrent() {
Calendar calendar = new GregorianCalendar();
this.hour = calendar.get(Calendar.HOUR_OF_DAY);
this.minute = calendar.get(Calendar.MINUTE);
this.second = calendar.get(Calendar.SECOND);
}
public int getHour() {
return hour;
}
public int getMinute() {
return minute;
}
public int getSecond() {
return minute;
}
}
class TestJavaCalender {
public static void main(String[] args) {
JavaCalender test = new JavaCalender();
System.out.print(test.getHour() + "\n" + test.getMinute() + "\n" + test.getSecond());
}
}
在打印之前。这就是根据代码设置值的地方
编辑:按照@Vikas评论中提到的方式进行
添加到为什么结果都为0的部分。因为Java中原语int
s的默认值是0,并且正如这个答案所指出的那样,test.setCurrent()
从未被调用,所以默认值从未被更新。调用setCurrent()
。现在还没用
public class JavaCalender {
int hour, minute, second;
public void setCurrent() {
Calendar calendar = new GregorianCalendar();
this.hour = calendar.get(Calendar.HOUR_OF_DAY);
this.minute = calendar.get(Calendar.MINUTE);
this.second = calendar.get(Calendar.SECOND);
}
public int getHour() {
return hour;
}
public int getMinute() {
return minute;
}
public int getSecond() {
return minute;
}
}
class TestJavaCalender {
public static void main(String[] args) {
JavaCalender test = new JavaCalender();
System.out.print(test.getHour() + "\n" + test.getMinute() + "\n" + test.getSecond());
}
}
在打印之前。这就是根据代码设置值的地方
编辑:按照@Vikas评论中提到的方式进行
添加到为什么结果都为0的部分。因为Java中原语
int
s的默认值是0,并且由于这个答案指向test.setCurrent()
,所以默认值永远不会被更新。从TestJavaCalendar类中的测试流中,您可以将“setCurrent()”方法更改为JavaCalendar类的构造函数。原名:
JavaCalender test = new JavaCalender();
test.setCurrent();
System.out.print...
之后:
public void setCurrent() {
Calendar calendar = new GregorianCalendar();
this.hour = calendar.get(Calendar.HOUR_OF_DAY);
this.minute = calendar.get(Calendar.MINUTE);
this.second = calendar.get(Calendar.SECOND);
}
然后,您可以顺利地使用JavaCalendar 从TestJavaCalendar类中的测试流,您可以将“setCurrent()”方法更改为JavaCalendar类的构造函数。
原名:
JavaCalender test = new JavaCalender();
test.setCurrent();
System.out.print...
之后:
public void setCurrent() {
Calendar calendar = new GregorianCalendar();
this.hour = calendar.get(Calendar.HOUR_OF_DAY);
this.minute = calendar.get(Calendar.MINUTE);
this.second = calendar.get(Calendar.SECOND);
}
然后,您可以顺利地使用JavaCalendar 为什么会这样?应该使用
Calendar Calendar=Calendar.getInstance()代码>您为什么希望它这样做?应该使用Calendar Calendar=Calendar.getInstance()非常感谢,我解决了,请原谅我是一个newer@PanPan希望这有帮助。一定要接受它作为一个答案,以帮助其他人谁在这里降落在未来。添加到部分,为什么结果都是0?因为Java中原语int
s的默认值是0,并且正如这个答案所指出的那样,test.setCurrent()
从未被调用,所以默认值永远不会被更新。@VikasPrasad值得一提。在回答中也更新了这一点:)非常感谢,我解决了它,请原谅我是一个newer@PanPan希望这有帮助。一定要接受它作为一个答案,以帮助其他人谁在这里降落在未来。添加到部分,为什么结果都是0?因为Java中原语int
s的默认值是0,并且正如这个答案所指出的那样,test.setCurrent()
从未被调用,所以默认值永远不会被更新。@VikasPrasad值得一提。在回答中也更新了这一点:)