Вывод номера недели по вводимой дате в виде цифр от 1 до 31 java
Я абсолютный новичек не ругайтесь.
package lesson2;
import java.util.Scanner;
public class homework1 {
public static void main(String[] args) {
System.out.println("Введите число от 1 до 31");
Scanner scan = new Scanner(System.in);
int number = scan.nextInt();
int firstweek = 7;
int secondweek = 14;
int thirdweek = 21;
int fourthweek = 31;
int dayofmonth = number;
if (dayofmonth <= firstweek) {
System.out.println("Первая неделя");
}
if (dayofmonth <= secondweek) {
System.out.println("Вторая неделя");
}
if (dayofmonth <= thirdweek) {
System.out.println("Третья неделя");
}
if (dayofmonth <= fourthweek) {
System.out.println("Четвертая неделя");
}
}
}
Как мне исправить, чтобы выдавало нужный ответ? Благодарен за помощь.
Ответы (1 шт):
Автор решения: Fleckinger
→ Ссылка
В нынешнем виде, ваша программа сравнивает введенное пользователем число с каждым блоком if, а вам нужно, чтобы при выполнении одного условия, не выполнялись остальные, для этого добавьте else после блока if.
if (dayOfMonth <= firstWeek) {
System.out.println("Первая неделя");
} else if (dayOfMonth <= secondWeek) {
System.out.println("Вторая неделя");
} else if (dayOfMonth <= thirdWeek) {
System.out.println("Третья неделя");
} else if (dayOfMonth <= fourthWeek) {
System.out.println("Четвертая неделя");
}