我们正在尝试使用教师提供给我们的代码将数据加载到数组中。代码是给我们的,因为我们没有也不会学习任何代码,但似乎有问题。 Public void LoadData()是他给我们的方法。我们要添加代码将它存储到我们的数组中。
我添加的是两行代码用**表示的两行代码。这是导师指示我们做的事情,但他们也对我们遇到的问题感到难过。我们不断得到NullReferenceException未处理,对象引用不是实例对象错误。
导师似乎无法弄明白,我们搜索了互联网,并努力寻找解决方案数小时。我还要补充一点,在修补可能的解决方案时,错误有时会指向不同的位置。我读过的解决方案似乎没有起作用。有人说这是我可能声明我的数组的方式,有些人说像if(r!= null)这样的东西添加为空检查(我们从未学过任何东西)我尝试调整他们的建议而且它没有工作,或者我只是把它放在错误的地方。
请查看代码并查看缺少的内容。请理解,我们是基础课。我们不知道什么是空检查,堆栈跟踪是什么,或者什么是高级。我已经排除了一些我知道正确的方法,并且会使一切都混乱。您将看到我在哪里创建了名为score的数组,以及复制和粘贴的公共void数据。
在LoadData()代码中包含的s和r变量,或者我声明得分数组的方式似乎有问题。也许这是其他的东西。
使用System; 使用System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Text;
using System.Threading.Tasks;
namespace DataAnalysis
{
class TestScores
{
int[] scores;
private double[] counter;
private int count;
public TestScores()
{
count = 0;
scores = new int[100];
LoadData();
for (int i = 0; i < scores.Length; i++)
{
count++;
}
}
public void LoadData()
{
int i = 0;
StreamReader r = null;
string path = "C:\\IST600Work\\testscore.txt";
String s;
try
{
r = new StreamReader(path);
while (!r.EndOfStream)
{
s = r.ReadLine(); // Reads one testscore data, as a string
**scores[i] = int.Parse(s);
**
**i++;
**
// Add code here to store it to your array
}
}
catch (FileNotFoundException n)
{
Console.WriteLine("File to read not found");
}
catch (IOException o)
{
Console.WriteLine(o.Message);
}
finally
{
r.Close();
r.Dispose();
}
}
}
}