我相信你们这里有很多人会觉得这样做很简单,所以对一些事情的解释会很酷。这是一个intro cs类的赋值,所以最简单的解决方案就足够了。目标是创建一个令牌机器类和其中的方法。然后在Windows窗体应用程序中访问这些方法。表单应用程序有2个文本框,一个用于季度数,另一个用于令牌数和2个按钮。第一个是获取令牌按钮,它将向季度值添加一个并从令牌值中减去一个。第二个是重置按钮,它将四分之一的值设置为0,将标记设置为100.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace TokenMachine
{
public partial class Form1 : Form
{
// class level reference to a token machine
private TokenMachine tm;
public Form1()
{
// create a token machine object
InitializeComponent();
tm = new TokenMachine();
tm.Reset();
此时我创建了TokenMachine类,没有问题 }
private void exitToolStripMenuItem1_Click(object sender, EventArgs e)
{
}
private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void buttonGetToken_Click(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
}
}
}
创建课程后,我感到有些困惑。我将发布我的UML类图以进一步清晰。
![TokenMachine UML Diagram][1]
这是我到目前为止所得到的。
这不是一个答案,我只是不知道在哪里发布其余的。我显然有一些格式问题。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TokenMachine
{
class TokenMachine
{
private int numTokens = 0;
private int numQuarters = 0;
现在我创建一个构造函数来初始化TokenMachien的数据成员
public TokenMachine()
{
numTokens = 100;
numQuarters = 0;
}
现在为GetToken方法。我在这里的困惑是这个方法到底应该是什么样子。同样,此方法将添加1个季度并减去一个令牌。
public int? void? GetToken(are there parameters required for this type of method?)
{
}
接下来我们有CountTokens方法,它返回机器中的标记数。上市 ???? CountTokens(??,??){}
CountQuarters方法,它返回机器中的四分之一。
public ???? CountQuarters(??, ??)
{
}
最后使用Reset方法删除所有四分之一并用令牌填充机器。对于本课程,我们假设该机器拥有100个令牌。
public ???? Reset(??, ??)?????????
{
????????????????????????????
}
这是我第一次创建一个类及其中的方法。从我的表单访问方法似乎并没有造成问题,因为我之前已经这样做了。 编写这些方法的正确格式是什么。即GetToken()CountTokens()CountQuarters(),主要是重置()
答案 0 :(得分:0)
public void GetToken()
{
numQuarters++; // ++ 'is increase by one', guess what -- will do
numTokens--;
}
public int CountTokens()
{
return numTokens;
}
public void Reset()
{
numQuarters = 0;
numTokens = 100;
}
仅供参考void
表示不从此方法返回值,将void
替换为类型int, string, double, Object, Form
将从方法返回此类型。
private void buttonGetToken_Click(object sender, EventArgs e)
{
tm.GetToken();
}
private void button2_Click(object sender, EventArgs e)
{
TheNameOfYuorTextBox.Text = tm.CountTokens().ToString();
}
编辑:
您建议的修改。调用tm.GetTokens()
和tm.GetQuaters()
而不指定返回任何值的值是没有意义的。
并创建一个新的TokenMachine
,然后调用'重置'如果TokenMachine
构造函数仍然设置了值,那就毫无意义了。
要使用断点,请单击边距以显示红点,在其中一个按钮单击方法中,然后启动并单击按钮。整个程序将暂停在那一行代码上(但不会执行该行代码),然后您可以检查变量的值,右键单击并说出QuickWatch
或将鼠标悬停在变量上。