2013-08-27 39 views
0

我遇到了尝试查找Eclipse的Julian日期的测试问题。测试中的(每月)高亮红色。任何人都可以帮忙吗?非常感激。在Java Eclipse中测试Julian日期

public static boolean validDate (int day, int month, int year){ 
    if(month >=1 && month<=12 && day>=1 && day <=31) { 
     if (day>30) { 
      return false; 
     } 
    } 

    if(month==2){ 
     if (leapYear(year)!= true&&day>28){ 
      return false; 
     } 
    } 

    return true; 
} 

//Array to store total days in month, not leap year 
public static int julianDate(int day, int month, int year){ 
    int m[] = {31,28,31,30,31,30,31,31,30,31,30,31};  
    int total = 0; // to store total days 

    // loop to add the number of days in each month, previous to the month chosen 
    for(int i = 0; i < month - 1; i++){ 
     total = total + m[i]; //adding value in array at index position i to total variable 
    } 

    // checking if the month entered is after feb and also leap year 
    if(month > 2 && leapYear(year)){ 
     //total holds days in previous months and adds days in current month - plus 1 as it is condition of leapyear 
     return total + day + 1; 
    }else{ 
     // no added 1 as the else is not leap year 
     return total + day; 
    } 

} 

测试

else if (menuNumber == 2); 
     System.out.println("Enter Julain Date DD/MM/YYYY"); //Here he print out Julain Date and asks for specific format dd/mm/yyyy 

     int day, month, year = in.nextInt(); 
     System.out.println(); 

     if (newDate.validDate(day, month, year)) { 
      System.out.println(newDate.validDate(day, month, year)); 
     }else{ 
      System.out.println("Not a Date"); 
     } 
+0

你有没有考虑过使用[JodaTime](http://www.joda.org/joda-time/)? – GGrec

+0

我没有,因为我不知道如何使用它,也需要做到这一点具体方式 –

回答

0

两件事情我看到你测试代码:

1)你可能实际上并不希望在

分号
else if (menuNumber == 2); 

但没有看到其余的,如果 - 否则我不能100%肯定。

2)行

int day, month, year = in.nextInt(); 

你只实例year。您没有实例化daymonth。这可能会导致错误,具体取决于您的Eclipse设置。 (并且您可能想要将它们实例化为某种东西)。如果Eclipse认为该部分导致错误,Eclipse会将其中一段代码加下划线。

+0

欢呼家伙得到它排序 –