private void QuestionAnswer_Load(object sender, EventArgs e)
{
txtQuestion.Enabled = false;
txtQuestion.BackColor = Color.White;
grpMultipleChoice.Enabled = false;
grpSingleChoice.Enabled = false;
btnCheckAnswer.Enabled = false;
btnNext.Enabled = false;
btnQuit.Enabled = false;
//force student to enter registration details
if (txtStudentName.Text == "" && txtStudentNumber.Text == "" && txtModuleNumber.Text == "")
{
btnStart.Enabled = false;
MessageBox.Show("You must enter your registration details at the upper right corner");
}
//declare a list
lstNumbers = new ArrayList();
//create a random number generator
Random rndNumber = new Random();
//generate 70 random numbers
//int number = (int)(rndNumber.NextDouble() * 69) + 1;
//lstNumbers.Add(number);
///use this counter to loop whenever a number is generated
int count = 0;
int maximumNumber = 69;
///disable answer button
btnCheckAnswer.Enabled = false;
do
{
int number = (int)(rndNumber.NextDouble() * maximumNumber) + 1;
lstNumbers.Add(number);
if (!lstNumbers.Contains(number))
{
lstNumbers.Add(number);
}
count++;
} while (count <= 15 * 70);//
btnCheckAnswer_Click(sender, e);
return lstNumbers;//returns once list is built
}
Run Code Online (Sandbox Code Playgroud)
说明:我创建了一个arraylist,允许我在1-70之间随机生成,但注意到我的数字有点重复.为了防止这种情况,我注意到我收到以下错误消息:
错误1由于'wwTestAppV1.GenKnow.QuestionAnswer_Load(object,System.EventArgs)' 返回void,因此返回关键字后面的对象表达式不能出现
我已尽力解决这个问题.当我删除此语句但显示重复值时程序运行良好.能否请你帮忙?
您的方法签名是:
private void QuestionAnswer_Load(object sender, EventArgs e)
Run Code Online (Sandbox Code Playgroud)
返回类型void意味着您不能/不打算返回任何内容.但是,在底部,您有:
return lstNumbers;//returns once list is built
Run Code Online (Sandbox Code Playgroud)
你回来了!编译器抱怨你告诉它有冲突的指令.将返回类型更改为ArrayList或不返回任何内容.
话虽如此,可以对代码进行一些改进,使其更具可读性,这也将帮助您解决问题.考虑将您的代码提交到https://codereview.stackexchange.com/.