Код не проходит через все операторы if-else? - PullRequest
0 голосов
/ 24 сентября 2019

Я работаю над кодом, который изменит дату на завтра в русском календаре.

если я вставлю «else» перед началом блока кода «if» (закомментированная ПРОБЛЕМА ЗДЕСЬ прямо над ним), он соединит этот блок с теми, что над ним (код, специфичный для России);однако это делает регулярные даты в русском календаре неэффективными.Таким образом, 31 декабря 1710 года не удастся изменить.Не использовать «else» означает, что оба блока будут работать, а я этого не хочу.Как я могу использовать оператор "else", чтобы он работал?

"Проблема" работает в других областях моего кода, поэтому я не знаю, почему код здесь не выполняет всевплоть до этой области.

if(location.equals("Russia")){

    if(day == 31){
        if(month == 1) {
            if(year == 1918){
            setDay(14);
            setMonth("February");               
            }
        }
    } else if(day == 28){
        if(month == 2){
            if(year < 1492){
                setDay(1);
                setMonth("March");
                setYear(year+1);                    
            }
        }
    } else if(day == 31){
        if(month == 8){
            if (year >= 1492){
                if(year < 1700){
                    setDay(1);
                    setMonth("September");
                    setYear(year+1);
                    }                   
                }
            }
    } 


    //PROBLEM IS HERE

    else if(day+1 <= daysInMonth() && month != 12){
        setDay(day+1); 
    } else if(month == 12 && day+1 > daysInMonth()){
        setDay(1);
        setMonth("January");
        setYear(year+1); 
    } else {
        setDay(1);
        month += 1; 
        }



}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...