【发布时间】:2014-12-06 14:00:32
【问题描述】:
所以我正在为大学编写一个程序,我必须在其中编写一个将名称存储到数组中的程序。 输入新名称时,它将被添加到数组的末尾。用户可以继续添加名称,直到输入虚拟值“exit” 完成此操作后,程序将显示所有重复的名称。
例如:
Enter name: Bill
Enter name: Mary
Enter name: Anisha
Enter name: Mary
Enter name: exit
Mary is a duplicate.
我还应该尝试显示每个名称重复了多少次。
static void Main(string[] args)
{
Console.WriteLine("This program allows you to write names to a list,");
int i = 0;
List<string> names = new List<string>();
string name = " ";
Console.WriteLine("Enter names then press enter to add them to the list of names! if you wish to exit simple type exit.");
while (name.ToLower() != "exit")
{
Console.WriteLine("Enter Name: ");
name = Console.ReadLine();
names.Add(name);
i++;
}
string[] nameArray = names.ToArray();
for(int z = 0;z <nameArray.Length;z++)
{
for (int y = z + 1; nameArray[y] == nameArray[z]; y++)
{
Console.WriteLine("The name: "+ nameArray[y]+" is a duplicate.");
}
}
Console.ReadLine();
}
这是我的代码,但是当我比较名称时它会崩溃。它给了我一个重复的名字,没有其他的。然后崩溃。我认为它与第二个 for loop 相关,但请有人运行它并帮助我吗?
【问题讨论】:
-
改成 for(int z = 0;z
标签: c# arrays string for-loop comparator