Чтение онлайн

ЖАНРЫ

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 + " простое

число."); else 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 + ”

простое число."); else 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

Наименьший

общий

множитель

чисел

100

и

75 равен 5

Если в методе используется несколько параметров, то для каждого из них указывается свой тип, отличающийся от других. Например, приведенный ниже код является вполне допустимым.

int MyMeth(int a, double b, float с) {

П ...

Поделиться с друзьями: