嗨我正在创建一个程序,其中包含三个数组,一个用于人名,一个用于得分和一个用于玩家号码,现在我已经获得了所有数组和一切都完成了,但是当我尝试删除一个播放器时,它会删除整个列表,而不是仅输入播放器号码的信息。我不知道如何解决这个问题。使用for循环删除数组中的元素
在正确的方向上的一些指导,将真正帮助请和谢谢
static void ProcessDelete(Int32[] playerNumbers, ref Int32 playerCount, String[] playerLastName, Int32[] playerPoints, Int32 playerIndex)
{
playerNumbers[playerIndex] = 0;
playerLastName[playerIndex] = " ";
playerPoints[playerIndex] = 0;
}
static void DeletePlayer(Int32[] playerNumbers, String[] playerLastName, Int32[] playerPoints, ref Int32 playerCount, Int32 MAXPLAYERS)
{
int player;// Player number to delete
int playerindex;//index of the player number in Array
if (playerCount < MAXPLAYERS)
{
player = GetPositiveInteger("\nDelete Player: please enter the player's number");
playerindex = GetPlayerIndex(player, playerNumbers, playerCount);
if (playerindex != -1)
{
for (playerCount = playerindex; playerCount > 0; playerCount--)
{
Console.WriteLine("\nDelete Player: Number - {0}, Name - {1}, Points - {2}", playerNumbers[playerindex], playerLastName[playerindex], playerPoints[playerindex]);
Console.WriteLine("Succesfully Deleted");
Console.WriteLine();
ProcessDelete(playerNumbers, ref playerCount, playerLastName, playerPoints, playerindex);
}
}
else
Console.WriteLine("\nDelete Player: player not found");
}
else
Console.WriteLine("\nDelete Player: the roster is empty");
}
}
}
我认为你必须揭示ProcessDelete方法的问题可能在哪里,另一方面数组不适合删除。考虑一下其他收藏,如列表。 –
t3chb0t
2014-11-25 06:57:42