C# 4.0 полное руководство - 2011
Шрифт:
// Простой пример применения параметра.
using System;
class ChkNum {
// Возвратить значение true, если значение // параметра х окажется простым числом, public bool IsPrime(int х) { if (х <= 1) return false;.
for (int i=2; i <= x/i; i++) if ( (x %i) == 0) return false;
return true;
}
}
class ParmDemo {
static void Main {
ChkNum ob = new ChkNum;
for (int i=2; i < 10; i++)
if(ob.IsPrime(i)) Console.WriteLine(i + " простое
}
}
Вот какой результат дает выполнение этой программы.
2 простое число.
3 простое число.
4 непростое число.
5 простое число.
6 непростое число.
7 простое число.
8 непростое число.
9 непростое число.
В данной программе метод IsPrime вызывается восемь раз, и каждый раз ему передается другое значение. Проанализируем этот процесс более подробно. Прежде всего обратите внимание на то, как вызывается метод Is Prime . Его аргумент указывается в скобках. Когда метод Is Prime вызывается в первый раз, ему передается значение 2. Следовательно, когда метод Is Prime начинает выполняться, его параметр х принимает значение 2. При втором вызове этого метода его параметр х принимает значение 3, при третьем вызове — значение 4 и т.д. Таким образом, значение, передаваемое методу Is Prime в качестве аргумента при его вызове, представляет собой значение, которое принимает его параметр х.
У метода может быть не только один, но и несколько параметров. Каждый его параметр объявляется, отделяясь от другого запятой. В качестве примера ниже приведен класс ChkNum, который расширен дополнительным методом LeastComFactor , возвращающим наименьший общий множитель двух его аргументов. Иными словами, этот метод возвращает наименьшее число, на которое оба его аргумента делятся нацело.
// Добавить метод, принимающий два аргумента.
using System;
class ChkNum {
// Возвратить значение true, если значение // параметра х окажется простым числом, public bool IsPrime(int х) { if(х <= 1) return false;
for (int i=2; i <= x/i; i++) if((x %i) == 0) return false;
return true;
}
// Возвратить наименьший общий множитель, public int LeastComFactor(int a, int b) { int max;
if(IsPrime(a) || IsPrime(b)) return 1;
max = a < b ? a : b;
for (int i=2; i <= max/2; i++)
if(((a%i) == 0) && ( (b%i) == 0)) return i; return 1;
}
}
class ParmDemo {
static void Main {
ChkNum ob = new ChkNum; int a, b;
for (int i=2; i < 10; i++)
if(ob.IsPrime(i)) Console.WriteLine(i + ”
а = 7; b = 8;
Console.WriteLine("Наименьший общий множитель чисел " + а + " и " + b + " равен " + ob.LeastComFactor(а, Ь));
а = 100;
Ь = 8;
Console.WriteLine("Наименьший общий множитель чисел " + а + " и " + b + " равен " + ob.LeastComFactor(а, Ь));
а = 100;
Ь = 75;
Console.WriteLine("Наименьший общий множитель чисел " + а + " и " + b + " равен " + ob.LeastComFactor(а, Ь));
}
}
Обратите внимание на следующее: когда вызывается метод LeastComFactor , его аргументы также разделяются запятыми. Ниже приведен результат выполнения данной программы.
2 простое число.
3 простое число.
4 непростое число.
5 простое число.
6 непростое число.
7 простое число.
8 непростое число.
9 непростое число.
Наименьший
общий
множитель
чисел
7 и
8
равен 1
Наименьший
общий
множитель
чисел
100
и
8 равен 2
Наименьший
общий
множитель