我在计算考试成绩方面遇到了问题。
int midterm,finalexam,makeupexam;
double average;
try
{
midterm=Int32.Parse(txtMidterm.Text);
finalexam=Int32.Parse(txtFinal.text);
}
catch
{
txtResult.Text="any mark has not been written";
}
average= midterm*30/100+finalexam*70/100;
if(average>=49.5 && finalexam>50)
{
txt.Result.Text="passed, average: "+average.To.String();
}
else
{
txtResult.Text="makeup stayed";
}
try
{
makeupexam=Int32.Parse(txtMakeUpExam.Text);
}
catch
{
txt.Result.Text="MakeUp's mark has not been written";
}
average= midterm*30/100+makeupexam*70/100;
if(average>=49.5 && makeupexam>50)
{
txtResult.Text="Passed: " + average;
}
else
{
txtResult.Text="failed, average: ", average;
}
该计划正在说"使用未分配的局部变量& midterm,finalexam,makeupexam"请帮助我,谢谢你们:)
答案 0 :(得分:1)
您正在尝试使用该变量,但它们可能永远不会为其分配值。在开始时将它们设置为0
,它应该可以正常工作。
答案 1 :(得分:0)
更改变量声明:
int midterm = 0,finalexam = 0,makeupexam = 0;
double average = 0.0;
这是因为如果你的catch
失败,变量永远不会分配,你就无法对未分配的变量执行操作
答案 2 :(得分:0)
未初始化局部变量。您必须手动初始化它们。
局部变量没有默认值。
只需添加以下代码: -
int midterm = 0,finalexam = 0,makeupexam = 0;
double average = 0.0;
它的发生是因为你没有为变量赋值。