При выполнении этого кода выход «140», который равен «28 * 5», но должен быть «150», который равен «28 + 31 + 30 + 31 + 30», он должен рассчитать дней между 2 месяцами «feb» и «july» ... Значит, это означает, что цикл for работает неправильно или что? и почему так ! ты можешь мне помочь здесь? PS: Я пытался изменить J ++ в цикле до J + 1, но Android-студия говорит «что это не заявление»Неправильно работает петля
int[] pair = {1,3,5,7,8,10,12};
int[] impair = {4,6,9,11};
int x=0;
int j;
int year=2015;
int mm=2;
int month=7;
String msg="";
if (month>mm) {
for (j = mm; j<month; j++){
if (Arrays.asList(impair).contains(j)){
x = 31 + x;
}else if(Arrays.asList(pair).contains(j)){
x = 30 + x;
}else{
if (year%4==0) {
x= 29 + x;
}else{
x= 28 + x;
}
}
}
System.output.println(x);
}
Вы пробовали отладки и шаговый через вашу программу по очереди? – sstan
теперь есть блестящая идея! – Drew
Да, я пробовал это сделать и даже изменил много вещей, как 4 раза, но я не мог исправить это –