【问题标题】:how can print big string from a string array or get its index [closed]如何从字符串数组中打印大字符串或获取其索引 [关闭]
【发布时间】:2017-12-08 13:50:31
【问题描述】:

我想做一个函数,它接受字符串数组并打印大字符串和字符数,例如

String[] names = { "Microsoft", "lg", "apple","Samsung"}

输出是:

更大的名字是:微软

字符数 9

我已经完成了 num 个字符,但我不知道如何打印名称**

String[] names = { "microsoft", "lg", "apple","samsung"};
int big = 0;
for (int i = 0; i < names.Length; i++) {
    if (big<names[i].Length) {
        big = names[i].Length;
    }
}
Console.WriteLine("bigger name is{0}chars  ",big);
      

【问题讨论】:

  • 引入第二个变量来存储最大值的索引,就像你使用big
  • 什么语言:Java 或 C#
  • 如果你写了这段代码,你应该很容易理解当你找到最长的字符串时你需要另一个变量来保持数组的索引

标签: java c# .net arrays


【解决方案1】:

使用 Linq:

String[] names = { "microsoft", "lg", "apple", "samsung" };

string longestName = names.OrderByDescending(n => n.Length).FirstOrDefault();

if (!String.IsNullOrEmpty(longestName))
{
    Console.WriteLine("Longest name is {0} ({1} chars).", longestName, longestName.Length);
}

Console.ReadLine();

还有更高效的方法,见Is there a LINQ function for getting the longest string in a list of strings?

【讨论】:

    【解决方案2】:

    不是将长度存储在big中,而是存储最大的字符串:

    String biggerString = "";
    

    并比较循环内更大的字符串长度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-29
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多