当我编写一个更复杂的程序时,我总是对如何构建程序感到困惑。我想举个例子,不需要修复代码。但要了解什么是最好或最正确的方法。
示例程序:
现在我想用我的程序做不同的事情(不使用Java日期类或Yoda时间)。
为了实现这种功能,有一些事情需要注意:
创建日期时,将使用日,月和年对象创建新的Data对象。日期,例如05-11-2002。将创建一个新的Date对象,具有新的Year对象,新的Month对象和新的Day对象(持有2012,11,5)。
我创建了一个新的Date类,包括:
public class Date {
Year year;
Month month;
Day day;
对于我的年级课程,我只需要参加一年的int,并检查一年是否是闰年:
public class Year {
int year;
boolean leapyear;
到目前为止这么好,没有什么大问题。
在我的月课上,我只参加了一个月的课程;
public class Month {
int month;
但是,在我的课程中,我需要更多选择。在我的课程中,我需要更多的东西。
所以我需要来自我的Year和Month对象的其他对象的数据。这是我的第一点的例子(弄清楚某一天某一天的数字)。
public class Day {
int day;
int dayTotal;
int januaray1st;
public void daytotal(int m, int d, boolean leapyear) {
int day = 0;
if (m == 0) {
days = 0;
}
if (m == 1) {
days = 31;
}
if (m == 2) {
days = 59;
}
if (m == 3) {
days = 90;
}
if (m == 4) {
days = 120;
}
if (m == 5) {
days = 151;
}
if (m == 6) {
days = 181;
}
if (m == 7) {
days = 212;
}
if (m == 8) {
days = 243;
}
if (m == 9) {
days = 273;
}
if (m == 10) {
days = 304;
}
if (m == 11) {
days = 334;
}
if (leapyear = true && m > 1) {
days += 1;
} else {
days = d + days;
}
this.dayTotal = days;
}
这样做的最佳方式是什么?
我这个例子我希望将leapYear方法与我的Day和Year对象中的变量一起使用。在这种情况下,我经常遇到问题。通常我会通过反复试验来判断它,但我想知道处理这个问题的最佳方法是什么?
问题 1.在这样的情况下,最好的方法是什么?我应该制作testDate.java还是其他任何方式?