2015-03-10 2 views
-3

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

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

Средний класс должен иметь три версии метода 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

Вы действительно не задали нам вопрос. SO, вероятно, не просто сделает вам домашнее задание. Вы застряли на чем-то конкретном? –

+0

Пожалуйста, разместите образец, относящийся к вашему вопросу. В настоящее время пост содержит какое-то случайное задание домашней работы сомнительного качества, а не показ некоторой предполагаемой проблемы с get/set accessors. –

+0

Ошибка визуальной студия - получить или установить аксессуар, ожидаемый @ Random randomNumbers = new Random(); –

ответ

0

Во-первых, play является метод, поэтому он должен быть public int Play(). (Если это не то, к чему вы пытаетесь получить доступ, используя 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

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

+0

Правда, это необходимо исправить. Благодарю. –

Смежные вопросы