打印文件中的最大值
Printing max value in a file
文件中的每一行都有一个名称,名称后面的数字表示该名称在从 1970 年开始的特定年份的流行程度
Addison 779 759 895 0 0 0 0 0 794 585 323
所以 779 是这个名字在 1970 年的流行程度,759 是 1971 年...323 是 1980 年。
我要查找的是该名称最受欢迎的年份,并在具有最大数组值的文件中打印出名称和年份。
所以文件中的输出看起来像
Addison 1978
这是我目前的代码
TextReader file = new StreamReader("Files\Excerise_Files\SSA_Names_Short_Find_Max.txt");
StreamWriter output = new StreamWriter("Files\SSA_Names_Max.txt");
char[] delimiters = { ' ', '\t' };
string nameLine;
while ((nameLine = file.ReadLine()) != null)
{
string[] tokensfromLine = nameLine.Split(delimiters, StringSplitOptions.RemoveEmptyEntries);
int max = 0;
int num = 0;
for(int i = 1; i < tokensfromLine.Length; i++)
{
if(Int32.TryParse(tokensfromLine[i], out num))
{
if( num > max)
{
max = num;
}
}
}
output.Dispose();
我不知道如何打印出代表最大值的年份?我试图弄清楚如何更改数组的索引以显示年份。我不知道该怎么做。我是编码新手,不太了解,但我想知道如何打印出数组中的索引。这也是 c# 忘记提到的。
谢谢!
我以为它是一个 C# 控制台应用程序。
代码已拆分为几个具有有意义名称的较小函数,并且所有函数都已参数化,因此您可以使用不同的文件名和年份。
我为您提供的解决方案包含许多您可能想要了解的 C# 小细节:
- Verbatim string
- Interpolated string
- using语句而不是手动配置
- LINQ
我建议您仔细分析示例以获取尽可能多的知识。
你可以找到完整的代码here:.
文件中的每一行都有一个名称,名称后面的数字表示该名称在从 1970 年开始的特定年份的流行程度
Addison 779 759 895 0 0 0 0 0 794 585 323
所以 779 是这个名字在 1970 年的流行程度,759 是 1971 年...323 是 1980 年。
我要查找的是该名称最受欢迎的年份,并在具有最大数组值的文件中打印出名称和年份。 所以文件中的输出看起来像
Addison 1978
这是我目前的代码
TextReader file = new StreamReader("Files\Excerise_Files\SSA_Names_Short_Find_Max.txt");
StreamWriter output = new StreamWriter("Files\SSA_Names_Max.txt");
char[] delimiters = { ' ', '\t' };
string nameLine;
while ((nameLine = file.ReadLine()) != null)
{
string[] tokensfromLine = nameLine.Split(delimiters, StringSplitOptions.RemoveEmptyEntries);
int max = 0;
int num = 0;
for(int i = 1; i < tokensfromLine.Length; i++)
{
if(Int32.TryParse(tokensfromLine[i], out num))
{
if( num > max)
{
max = num;
}
}
}
output.Dispose();
我不知道如何打印出代表最大值的年份?我试图弄清楚如何更改数组的索引以显示年份。我不知道该怎么做。我是编码新手,不太了解,但我想知道如何打印出数组中的索引。这也是 c# 忘记提到的。 谢谢!
我以为它是一个 C# 控制台应用程序。
代码已拆分为几个具有有意义名称的较小函数,并且所有函数都已参数化,因此您可以使用不同的文件名和年份。
我为您提供的解决方案包含许多您可能想要了解的 C# 小细节:
- Verbatim string
- Interpolated string
- using语句而不是手动配置
- LINQ
我建议您仔细分析示例以获取尽可能多的知识。
你可以找到完整的代码here:.