从另一个对象的对象调用变量。

时间:2013-10-16 14:03:09

标签: java oop

当我编写一个更复杂的程序时,我总是对如何构建程序感到困惑。我想举个例子,不需要修复代码。但要了解什么是最好或最正确的方法。

示例程序:

现在我想用我的程序做不同的事情(不使用Java日期类或Yoda时间)。

  1. 我想检查一年是否是闰年
  2. 我想查看指定日期的哪一天;
  3. 我想查看今天哪几年都一样。
  4. 比较两个日期,并计算月,日等。
  5. 为了实现这种功能,有一些事情需要注意:

    1. 是闰年的一年
    2. 1月1日是哪一天。
    3. 这一年是52周还是53周?
    4. 创建日期时,将使用日,月和年对象创建新的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; 
      

      但是,在我的课程中,我需要更多选择。在我的课程中,我需要更多的东西。

      1. 我需要弄清楚一个月,一天和两年的总天数(是/否)。
      2. 检查1月份的第一年
      3. 查看指定日期和年份的日期。
      4. 所以我需要来自我的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还是其他任何方式?

0 个答案:

没有答案