Програма должна найти все идеальные числа в приделах тысячи и вывести свои собственные делители.
Подскажите пожалуйста что значит когда метод perfect помещают в if?
public class Main {
public static void main(String[] args) {
for(int num = 1;num <= 1000;num++) {
if(perfect(num)) { //ВОТ ТУТ
System.out.println(num + " is perfect:");
System.out.print("Factors: ");
for(int i = 1;i < num;i++) {
if (num % i == 0) {
System.out.print(i + " ");
}
}
System.out.println();
}
}
}
public static Boolean perfect(int num) {
int sum = 0;
for(int i = 1;i < num;i++) {
if (num % i == 0) {
sum = sum + i;
}
}
return sum == num;
}
}
Получаем вот это:
6 is perfect:
Factors: 1 2 3
28 is perfect:
Factors: 1 2 4 7 14
496 is perfect:
Factors: 1 2 4 8 16 31 62 124 248
Екстра Француз
0 уровень
Что значит строчка в коде?
Решен
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Евгений КоротаевАналитик в Комус
16 января 2021, 07:20решение
метод perfect возвращает тип boolean, т.е. по сути внутри метода мы проверяем какие-то условия и сообщаем назад выполнились(true) они или нет(false).
У оператора if в круглых скобках должно указываться выражение которое должно быть типа boolean. Если выражение true, то программа заходит в фигурные скобки после условия, если условие false, то программа пропускает блок {} после условия в if.
Общая запись if выглядит так:
Программа выполнит только один из блоков, когда найдет истинное выражение condition1 ... conditionN. Если ни одно не будет истинным она выполнит последний блок else.
+2
Екстра Француз
16 января 2021, 07:37
Спасибо)
0