Использование переменного числа аргументов - C#
Формулировка задачи:
Имеется метод MinVal, который принимает переменное число аргументов и возвращает минимальный. Если в метод не было передано аргументов, то выводится соответствующее сообщение, но вместе с этим после сообщения "Ошибка: нет аргументов." выводится ноль. Как можно сделать так, чтобы ноль не выводился?
Результатом программы будет:
Листинг программы
- class Min
- {
- public int MinVal(params int[] nums)
- {
- if (nums.Length == 0)
- {
- Console.WriteLine("Ошибка: нет аргументов.");
- return 0;
- }
- int m = nums[0];
- for (int i = 1; i < nums.Length; i++)
- {
- if (nums[i] < m)
- m = nums[i];
- }
- Console.Write("Наименьшее значение равно ");
- return m;
- }
- }
- class MinDemo
- {
- static void Main()
- {
- Min ob = new Min();
- int min;
- int a = 10, b = 20;
- min = ob.MinVal();
- Console.WriteLine(min);
- min = ob.MinVal(a, b);
- Console.WriteLine(min);
- min = ob.MinVal(3, 5, a, 8, 9, b, 4);
- Console.WriteLine(min);
- Console.ReadLine();
- }
- }
Ошибка: нет аргументов. 0 Наименьшее значение равно 10 Наименьшее значение равно 3
А хотелось бы видеть такой вывод:Ошибка: нет аргументов. Наименьшее значение равно 10 Наименьшее значение равно 3
Решение задачи: «Использование переменного числа аргументов»
textual
Листинг программы
- class Program {
- static void Main(string[] args) {
- Min ob = new Min();
- int a = 10, b = 20;
- ob.PrintMinValue();
- ob.PrintMinValue(a, b);
- ob.PrintMinValue(3, 5, a, 8, 9, b, 4);
- Console.ReadLine();
- }
- }
- class Min {
- /// <summary>
- /// Метод, определяющий минимальное целое число в последовательности
- /// </summary>
- /// <param name="nums">Последовательность чисел</param>
- public int MinVal(params int[] nums) {
- if (nums.Length == 0) {
- return 0;
- }
- int m = nums[0];
- for (int i = 1; i < nums.Length; i++) {
- if (nums[i] < m)
- m = nums[i];
- }
- return m;
- }
- /// <summary>
- /// Метод, выводящий информацию о минимальном числе
- /// </summary>
- /// <param name="sums"></param>
- public void PrintMinValue(params int[] sums) {
- int min = MinVal(sums);
- if (min == 0) {
- Console.WriteLine("Ошибка: нет аргументов");
- }
- else {
- Console.WriteLine("Минимальный элемент равен {0}", min);
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д