0 / 0 / 0
Регистрация: 03.06.2017
Сообщений: 16
|
||||||
1 | ||||||
Методы и приведение типов, объясните пару моментов12.10.2017, 16:36. Показов 741. Ответов 6
Здравствуйте, помогите разобраться с кодом.
2 простое число. 3 простое число. 4 непростое число 3) почему ? Ведь согласно циклу и этому фрагменту if ((x % i) == 0) здесь x и i будут равны 4 и (4%4)= 0, но тогда почему возвращает false ? ... b будет равно 100 P.S. код взят из книги "Герберт Шилдт - C# 4.0. Полное руководство - 2011".
0
|
12.10.2017, 16:36 | |
Ответы с готовыми решениями:
6
Не требуется приведение типов при умножении типов Byte Приведение типов Приведение типов Приведение типов |
5877 / 4754 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
|
|
12.10.2017, 16:44 | 3 |
Сначала 4 и 2, но 4%2=0, поэтому и false (нашлось число 2 на которое 4 делится без остатка)
1
|
5877 / 4754 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
|
|
12.10.2017, 16:54 | 5 |
Если метод статический, то не нужно, он вызывается от имени класса. Для экземплярных методов объект нужен.
Не любое, но это вычисляется, как int Да, это точка входа в программу.
1
|
Администратор
|
|
12.10.2017, 17:05 | 6 |
В данном примере да. Потому что метод IsPrime экземплярный
Арифметические операции определены для типов int, uint, long, ulong. Если в выражении есть другие типы, то они сначала приводятся к одному типу с самым большим диапазоном значений из списка выше. Результат операции будет иметь тот же тип. В данном случае byte неявно приводится к int и затем требуется явное приведение обратно в byte. Потому что условие if (4 % 4 == 0) дает "истину" Да
1
|
910 / 795 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
|
|
12.10.2017, 17:25 | 7 |
и согласно Вашему циклу i до 4 не доберётся: for (int i = 2; i <= x / i; i++) при x = 4 первый цикл получится так: i = 2 -> i <= 4/ 2 = 2 выполниться проверка, остаток от деления равен 0, вернёт false
1
|
12.10.2017, 17:25 | |
12.10.2017, 17:25 | |
Помогаю со студенческими работами здесь
7
Приведение типов Приведение типов Приведение типов Приведение типов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |