Как добавить get/set accessors?

Создайте консольное приложение C#, которое использует перегруженные методы для вычисления среднего значения из 2, 3 или 4 целых чисел. Сначала создайте класс Average. Напишите метод play в этом классе, чтобы сделать следующее:

(1) Сгенерируйте случайное целое число, чтобы решить, следует ли рассчитывать среднее из 2, 3 или 4 целых чисел. (2) Генерировать 2, 3 или 4 случайных целых числа. Эти случайные целые числа должны быть в диапазоне от 1 до 1000. (3) Вызвать одну из трех версий метода CalcAverage, чтобы вычислить среднее значение случайных целых чисел. (4) Выведите случайные целые числа и их среднее значение в окне консоли.

Класс Average должен иметь три версии метода CalcAverage, принимая в качестве аргументов два, три и четыре целых числа соответственно. Создайте класс AverageTest. В методе Main создайте экземпляр Average и затем вызовите его метод Play.

и что у меня так далеко

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace lab09_ex03
{
    public class Average
    {
        public int play();
        {
            Random randomNumbers = new Random();
            int numIntegers = randomNumbers.Next(2, 5);
            Console.WriteLine("For this round the program will display the average of\n {0} randomly generated integers", numIntegers);
            if (numIntegers == 2)
                {
                    int integer01 = randomNumbers.Next(1, 1001);
                    int integer02 = randomNumbers.Next(1, 1001);
                    return integer01, integer02;
                }
                if (numIntegers == 3)
                    {
                        int integer01 = randomNumbers.Next(1, 1001);
                        int integer02 = randomNumbers.Next(1, 1001);
                        int integer03 = randomNumbers.Next(1, 1001);
                        return integer01, integer02, integer03;
                    }
                else
                    {
                        int integer01 = randomNumbers.Next(1, 1001);
                        int integer02 = randomNumbers.Next(1, 1001);
                        int integer03 = randomNumbers.Next(1, 1001);
                        int integer04 = randomNumbers.Next(1, 1001);
                        return integer01, integer02, integer03, integer04;
                    }
        }
        public int CalcAverage(int integer01, int integer02)
        {
            int average01 = (integer01 + integer02)/2;
            Console.WriteLine("The average of {0} and {1} is {2}", integer01, integer02, average01);
        }
        public int CalcAverage(int integer01, int integer02, int integer03)
        {
            int average02 = (integer01 + integer02 + integer03)/3;
            Console.WriteLine("The average of {0} and {1} and {2} is {3}", integer01, integer02, integer03, average02);
        }
        public int CalcAverage(int integer01, int integer02, int integer03, int integer04)
        {
            int average03 = (integer01 + integer02 + integer03 + integer04)/4;
            Console.WriteLine("The average of {0} and {1} and {2} and {3} is {4}", integer01, integer02, integer03, integer04, average03);
        }

        static void Main(string[] args)
        {
            Play p = new Play();
            int integer01;
            int integer02;
            int integer03;
            int integer04;
            Console.WriteLine(p.Play());
            Console.WriteLine(p.CalcAverage(integer01, integer02));
            Console.WriteLine(p.CalcAverage(integer01, integer02, integer03));
            Console.WriteLine(p.CalcAverage(integer01, integer02, integer03, integer04));
        }
    }
}

1 ответ

Прежде всего, play это метод, поэтому он должен быть public int Play(), (Если это не то, к чему вы пытаетесь получить доступ с помощью get/set? Если это так, то это совсем не хорошее соглашение.) И я не уверен, что понимаю вопрос, который вы здесь задаете. Если вы хотите, чтобы что-то имело методы get и set, оно выглядит примерно так:

private int myPrivateValue = 0;
public int myPublicValue
{
    get
    {
        return myPrivateValue;
    }
    set
    {
        myPrivateValue = value;
    }
}

Вы можете прочитать об этом на официальном справочном сайте Microsoft здесь: https://msdn.microsoft.com/en-us/library/aa287786%28v=vs.71%29.aspx

Редактировать: Цель чего-то вроде get / set - когда у вас есть несколько классов для проверки ввода, внесения в журнал изменений и т. Д. У вас есть общедоступное значение, которое как способ для других классов иметь ограниченный доступ в ваши личные поля.

Другие вопросы по тегам