【问题标题】:Printing max value in a file在文件中打印最大值
【发布时间】:2018-12-07 23:37:55
【问题描述】:

文件中的每一行都有一个名称,名称后面的数字表示该名称在从 1970 年开始的特定年份中的流行程度

艾迪生 779 759 895 0 0 0 0 0 794 585 323

所以 779 是这个名字在 1970 年的流行程度,759 是 1971 年……323 是 1980 年。

我要查找的是该名称最受欢迎的年份,并在具有最大数组值的文件中打印出名称和年份。 所以文件中的输出看起来像

艾迪生 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# arrays file-io printing


【解决方案1】:

我假设它是一个 C# 控制台应用程序。

代码已拆分为几个具有有意义名称的较小函数,并且都已参数化,因此您可以将它们与不同的文件名和年份一起使用。

我为您提供的解决方案包含许多您可能想了解的 C# 小细节:

我建议您仔细分析示例以获取尽可能多的知识。

你可以找到完整的代码here:.

【讨论】:

    猜你喜欢
    • 2019-05-26
    • 1970-01-01
    • 2013-04-19
    • 1970-01-01
    • 1970-01-01
    • 2015-02-20
    • 1970-01-01
    • 2022-11-13
    • 2020-01-11
    相关资源
    最近更新 更多