【问题标题】:How to add get/set accessors?如何添加获取/设置访问器?
【发布时间】:2015-03-10 00:58:39
【问题描述】:

创建一个使用重载方法计算 2、3 或 4 个整数的平均值的 C# 控制台应用程序。首先创建一个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));
        }
    }
}

【问题讨论】:

  • 您实际上并没有向我们提问。所以可能不会只为你做功课。你是否被一些特定的东西困住了?
  • 请发布与您的问题相关的示例。当前帖子包含一些质量有问题的随机作业分配,而不是显示一些关于 get/set 访问器的假定问题。
  • Visual Studio 错误 - 需要获取或设置访问器 @ Random randomNumbers = new Random();

标签: c# random get set


【解决方案1】:

首先,play 是一个方法,所以它必须是public int Play()。 (除非这是您尝试使用 get/set 访问的内容?如果是这种情况,这根本不是一个好的约定。) 而且我不确定我是否理解您在这里提出的问题。如果你想让某些东西有 get 和 set 方法,它是这样的:

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

您可以在此处从微软官方参考网站阅读它:https://msdn.microsoft.com/en-us/library/aa287786%28v=vs.71%29.aspx

编辑:get/set 之类的目的是当您有多个类来验证输入、记录更改的日志等时...您拥有公共价值,这就像其他类的一种方式对您的私有字段的访问权限有限。

【讨论】:

  • 是的,确实需要修复。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-03
相关资源
最近更新 更多