我有一个家庭作业坚持者,我需要另一双眼睛。任务是创建一个提示输入学生姓名的程序,然后遍历天数 ( String[] days = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
) 数组,提示每天学习的小时数。最后,程序将显示一周学习的每日平均小时数。
我坚持使用数据输入方法:
public void EnterHours()
{
// entry area header
Console.WriteLine("Enter study hours for {0} ", name);
for (int i = 0; i < days.Length; i++)
{
Console.Write("{0}'s study hours: ", days[i]);
string dailyHours = Console.ReadLine();
int.TryParse(dailyHours, out hours[i]); // problematic statement
}
SumHours(hours);
}
目前,该name
变量是一个已经设置好的属性;days
是String[]
上面的,我已经实例hours
化为int[] hours;
与days
. SumHours 是另一种方法,它接受int[] hours
作为参数并遍历数组对值求和。
当我运行程序时,控制台显示
Enter study hours for John Doe
Sunday's study hours:
但无论我输入什么,我最终都会得到一个Null Reference Exception
. 我还收到以下警告消息:
Warning 1 Field 'Midterm.StudentHour.hours' is never assigned to, and will always have its default value null C:\Users\Dan\Dropbox\_MATC\ITDEV115\Assignments\Midterm\StudentHour.cs 11 15 Midterm
我尝试实例化hours
asint[] hours = new int[7];
但得到相同的错误,所以我怀疑这与我输出解析整数的方式有关,但我不确定除此之外应该看什么来解决问题。想法?提示?