【问题标题】:Questions on my homework in a C# class关于我在 C# 课上的作业的问题
【发布时间】:2010-08-31 04:51:45
【问题描述】:

我正在学习 C# 编程课程,这是我的第一个作业,我已经需要帮助了。我想我可以处理我只需要帮助开始的问题。

创建一个 Average 类,其中包含一个公共数据成员来收集整数条目的总和,并创建一个公共数据成员来保存 10 个整数之和的双重平均值。

  • 获取每个整数输入的公共类方法。
  • 公共类方法计算输入数字的平均值。
  • 输出输入数字平均值的公共类方法。
  • Main( ) 函数实例化一个 Average 对象,并包含一个 for 循环以获取 10 个输入并调用计算和输出方法。

下一章将介绍循环,但是,您应该能够构建一个 for 循环来完成 10 个输入。

namespace Assignment1_White
{

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        int num1;
        int num2;
        int num3;
        int num4;
        int num5;
        int num6;
        int num7;
        int num8;
        int num9;
        int num10;
        int answer;

        num1 = int.Parse(num100.Text);
        num2 = int.Parse(num200.Text);
        num3 = int.Parse(num300.Text);
        num4 = int.Parse(num400.Text);
        num5 = int.Parse(num500.Text);
        num6 = int.Parse(num600.Text);
        num7 = int.Parse(num700.Text);
        num8 = int.Parse(num800.Text);
        num9 = int.Parse(num900.Text);
        num10 = int.Parse(num1000.Text);



        answer = (num1 + num2 + num3 + num4 + num5 + num6 + num7 + num8 + num9 +num10)/10;
        MessageBox.Show(answer.ToString());

   }
}

我已经做到了这一点,但现在我陷入了错误检查。目前它将每次除以10。我需要一种添加 if 语句的方法。

【问题讨论】:

  • 我们很乐意为您提供帮助,但我们不会为您编写。到目前为止你写了什么?什么不工作?
  • 试着先写一些代码(我知道,第一个程序总是最难的),如果它给你错误,把代码和错误贴在这里,我们会尽力帮助。跨度>
  • 你的教授不会高兴的。至少尝试做点什么,如果遇到困难,请寻求帮助。你写过代码吗?
  • 起点:阅读您的教科书并通过讲座和文本应用您目前所学的知识。你的教练很可能没有给你任何你不应该处理的东西。
  • 你的教授知道 StackOverflow,问了多少这样的问题?如果我是教授,我会潜伏:)。

标签: c#


【解决方案1】:

有时,一种有效的方法是从确定您的方法签名需要的外观开始(这通常使用interfaces 来实现;不过,我猜您的课程还没有到达那里)。

这里有几个例子。

作业

获取每个整数输入的公共类方法。

提示

描述表明该方法将获取输入;这通常采用方法参数的形式。

public void CollectInput(double input);

作业

计算输入数字平均值的公共类方法。

提示

描述中提到了计算一个值;这种方法几乎肯定会返回其计算结果。大概计算中涉及的值是由Average类内部存储的(毕竟上面CollectInput输入的值需要某处)。

public double CalculateAverage();

其实我就到此为止了。

希望这个答案足以让您开始并朝着正确的方向前进。

【讨论】:

  • +1 用于指出糟糕的设计。计算平均值和格式化输出不应属于同一类。
  • 对,希望教授解释说,为了简单起见,所有内容都被归为一个类,但在实际项目中,将有不同的类负责计算和输出。如果他没有,我们会为他指出这一点。如果兰迪怀特带着他的任务的工作程序摆脱了这个问题,我们就失败了。如果他对如何完成任务有很好的理解,我们就勉强成功了。如果他有应用软件工程过程(规范、设计、实施、测试/调试/验证)的经验,那就更好了。
【解决方案2】:
  • 首先,阅读课程。有很多教程如this one

使用您编写的代码发布任何困难,您可以获得该部分的具体帮助。将问题分解成更小的部分很有帮助。一口气阅读整个问题会变得混乱,但是当你分解它时,你会发现更容易理解不同的方面。

【讨论】:

    【解决方案3】:

    如果您需要帮助将段落翻译成实际要求(cmets 是正确的 - 编写您自己的代码,然后在它不起作用时发布帮助),我将如何翻译:

    它说你需要一门课,所以把它写在一张纸上。在它下面画一条线。 然后它说它需要一个数据成员(通常是字段或属性的“requirement-ese”)来收集一系列整数的总和。所以直接在你刚刚画的线下面写下来。像'sumOfInts'之类的东西像这样。你可以稍后再回来。接下来你需要一个数据成员来保存双平均,所以也写下来:Average。这样就完成了所需的数据成员,所以画一条新线。接下来,你'已经定义了一种方法来计算平均值。所以写下来:类似:`CalculateAverage(int sum, int items)。我只是指出了一个你需要考虑的棘手部分:你不只是想要总和,你想知道有多少项。

    现在你应该有这样的东西

        Class: Average
      ------------------
        Sum (Int)
        Average (Double)
      ------------------
        CalculateAverage(Int, Int) (Returns double)
    

    恭喜,您刚刚创建了您的第一个 UML 类规范(ish)。

    写下来后,您应该能够开始处理分配的实际编码部分。

    一旦您编写了代码,如果它不起作用,请发布一个新问题,列出您的具体困难,我们很乐意为您提供帮助。

    【讨论】:

    • private void button1_Click(object sender, EventArgs e) { int num1 = 0;整数 2 = 0;整数;总和 = 数字 1 + 数字 2; MessageBox.Show(sum.ToString); } 这是我得到的
    • 我需要的远不止这些。考虑编辑您的问题以添加到目前为止的代码,或接受此问题的答案,并创建一个包含您的代码的新问题。不过,我现在可以告诉您,要显示消息框,您需要在 ToString (MessageBox.SHow(sum.ToString());) 之后使用括号
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-29
    • 1970-01-01
    • 2020-08-01
    • 1970-01-01
    • 2022-06-14
    • 2020-08-11
    相关资源
    最近更新 更多