0

我在尝试找到 Eclipse 的朱利安日期的测试时遇到问题。测试中的(日月)以红色突出显示。有人能帮忙吗?非常感激。

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");
        }
4

1 回答 1

0

我在您的TESTING代码中看到了两件事:

1)您可能实际上并不想要分号

else if (menuNumber == 2);

但如果没有看到其余的 if-else,我不能 100% 确定。

2) 排队

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

你只是在实例化year. 您没有实例化daymonth. 这可能会导致错误,具体取决于您的 Eclipse 设置。(而且您可能还是想将它们实例化为某种东西)。如果 Eclipse 认为某段代码导致错误,它将用红色下划线。

于 2013-08-27T22:37:30.423 回答