所以这就是我想做的事情。我有点喜欢这个地方,但我希望你能忍受我。这对我来说是一个非常新的概念。
1)在我的程序中,我希望创建一个包含50个整数的数组来保存来自文件的数据。 我的程序必须获取用户文档文件夹的路径。 2)文件的名称为" grades.txt"。在程序中直接编码此文件名。获取文件名无需用户输入。 3)使用此路径创建StreamReader对象。这将打开文件。 编写一个从文件中读取数据的循环,直到它发现文件的结尾。 4)读入每个整数值时,我显示它,并将其存储在数组中。 5)使用部分填充数组的概念,编写一个方法,将数组作为参数,并计算并返回存储在数组中的整数的平均值 输出平均值。
所以现在我很难弄清楚如何将数字保存在grades.txt文件中,将它们保存到数组中并显示它们。我试图将整数分开并保存,但它似乎不起作用。
这是我到目前为止的代码:
class Program
{
const int SIZE = 50;
static void Main()
{
// This line of code gets the path to the My Documents Folder
int zero = 0;
int counter = 0;
int n, m;
StreamReader myFile;
myFile = new StreamReader("C:/grades.txt");
string inputNum = myFile.ReadLine();
do
{
Console.Write("The test scores are listed as follows:");
string[] splitNum = myFile.Split();
n = int.Parse(splitNum[0]);
{
if (n != zero)
{
Console.Write("{0}", n);
counter++;
}
}
} while (counter < SIZE && inputNum != null);
// now we can use the full path to get the document
Console.ReadLine();
}
}
这是grades.Txt文件:
88个
90个
78个
65个
50个
83个
75个
23个
60个
94个
答案 0 :(得分:0)
1)在我的程序中,我希望创建一个包含50个整数的数组来保存来自文件的数据。
2)我的程序必须获取用户的Documents文件夹的路径。该文件的名称将是“grades.txt”。在程序中直接编码此文件名。获取文件名无需用户输入。
使用这两个:
Environment.GetFolderPath Method (Environment.SpecialFolder)
3)使用此路径创建StreamReader对象。这将打开文件。编写一个从文件中读取数据的循环,直到它发现文件的结尾。
请参阅StreamReader.EndOfStream()。
4)当读入每个整数值时,我显示它,并将其存储在数组中。
如果每行只有一个分数,则不需要执行任何Split()调用。使用counter
变量知道数组中存储值的位置。
5)使用部分填充数组的概念,编写一个方法,将数组作为参数,计算并返回存储在数组中的整数的平均值。输出平均值。
请参阅Methods (C# Programming Guide)。
您将传递数组以及存储的数量值(counter
变量)。
答案 1 :(得分:0)
要阅读文件,您需要这样的内容:
var scores = new List<int>();
StreamReader reader = new StreamReader("C:/grades.txt");
while (!reader.EndOfStream)
{
int score;
if (int.TryParse(reader.ReadLine(), out score) && score != 0)
scores.Add(score);
}
并且您可以使用scores.Count属性获得分数。