C# 附加导师程序无法正常工作***请阅读说明***
下面是一个名为Addition Tutor的程序的代码。程序生成2个随机数,并要求用户回答两个随机数的相加。问题是,每次我正确回答问题时,messagebox都会返回错误的else操作。我的程序有什么问题?请保持答案简单,我的编程知识和术语非常有限。非常感谢你的帮助C# 附加导师程序无法正常工作***请阅读说明***,c#,if-statement,add,equals,C#,If Statement,Add,Equals,下面是一个名为Addition Tutor的程序的代码。程序生成2个随机数,并要求用户回答两个随机数的相加。问题是,每次我正确回答问题时,messagebox都会返回错误的else操作。我的程序有什么问题?请保持答案简单,我的编程知识和术语非常有限。非常感谢你的帮助 namespace Addition_Tutor { public partial class Form1 : Form { public Form1() {
namespace Addition_Tutor
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
//Create a random object.
Random rand = new Random();
{
//Declare an Integer
int number1;
//Generate a random integer and assign it to number1
number1 = rand.Next(400) + 100;
//Send random number to numberlabel1
numberLabel1.Text = Convert.ToString(number1);
}
{
//Declare an Int Variable
int number2;
//Generate a random integer and assign it to number2
number2 = rand.Next(400) + 100;
//Send random number to numberlabel2
numberLabel2.Text = Convert.ToString(number2);
}
}
private void checkButton_Click(object sender, EventArgs e)
{
//declare an Int Variable for Correct Answer
int correctAnswer;
correctAnswer = Convert.ToInt32("" + numberLabel1.Text + numberLabel2.Text);
//check to see if the userAnswer and correctAnswer match.
int userAnswer;
userAnswer = Convert.ToInt32(answerTextBox.Text);
if (userAnswer == correctAnswer)
{
MessageBox.Show("Your Answer is Correct");
}
else
{
MessageBox.Show("Your Answer is Incorrect");
}
}
private void clearButton_Click(object sender, EventArgs e)
{
//clear the labels and textboxes.
numberLabel1.Text = "";
numberLabel2.Text = "";
answerTextBox.Text = "";
}
private void exitButton_Click(object sender, EventArgs e)
{
//close the form
this.Close();
}
}
}
你把两个数字连在一起。比如1+2=12
在添加它们之前,需要将它们解析为int:
correctAnswer = int.Parse(numberLabel1.Text) + int.Parse(numberLabel2.Text);
那么,您自己在诊断问题方面取得了多大进展?你在调试器中运行过吗?我相信你会发现问题的。提示:您希望Convert.ToInt32+10+5返回什么?这不是15…请注意,花在学习如何诊断问题上的时间将为自己付出很多倍的代价。我建议你对自己下定决心,想办法做到这一点——从长远来看,你将节省大量的时间。这是我自主动学习如何编写代码以来创建的第八个程序。我在代码中遇到的所有问题都是通过在本论坛中对类似问题的研究来诊断的。Convert.ToInt32+10+5段代码是从另一个问题中使用的。当然,您是一名初学者,但这并不意味着现在学习使用调试器或其他诊断工具还为时过早。如果您在调试器中仔细检查了代码,您会发现是对correctAnswer的计算导致了问题,而其他一切都是无关的。然后,您可能已经看到了转换为Convert.ToInt32的内容,并意识到将105解析为整数并不能将10和5相加。下次遇到问题时,我一定会使用它,谢谢您的帮助!
correctAnswer = int.Parse(numberLabel1.Text) + int.Parse(numberLabel2.Text);