【发布时间】:2015-01-10 03:26:35
【问题描述】:
- 下面是我为我的编程课编写的程序的所有代码。我的主要问题是,当我调用 AddPerson() 时,它会跳过 _people[] 中的位置 [0] 并将创建的对象放置在 _More[] 的 [1] 中。如何在向数组添加新创建的对象的同时防止这种情况发生?
- 另外,我需要在最后以有序的形式显示数组中的所有数据。我相信我在 GroupOfPeople 类的 DisplayAllPeople() 方法中有正确的代码。
我希望我的大部分内容都是正确的。谁能帮帮我?
*我们的老师为我们(学生)提供了一个名为 IOHelper 的类,但我没有包括它,因为它只是静态方法。
//主程序//
公开课课程 { 公共静态无效主要(字符串[]参数) { GroupOfPeople 组 = 新 GroupOfPeople();
while (IOHelper.AskYesNoQuestion("Do you want to add another person to the array? "))
{
Console.Write("Name? :");
string name = Console.ReadLine();
Console.Write("Age? :");
int age = int.Parse(Console.ReadLine());
Person newPerson = new Person(name, age);
group.AddPerson(newPerson);
}
Console.WriteLine("Here are your entries:");
group.DisplayAllPeople();
Console.Write("Press any key to end the program... ");
Console.ReadKey();
}
}
//人物类//
公共类人 { 私有字符串 _name { 获取;放; } 私人 int _age { 得到;放; }
public Person(string name, int age)
{
_name = name;
_age = age;
}
public void Display()
{
Console.Write("Name : " + _name);
Console.Write("Age : " + _age);
Console.WriteLine();
}
}
//GroupOfPeople 类//
公共类 GroupOfPeople { 私人人[] _people;
public GroupOfPeople()
{
_people = new Person[0];
}
public void AddPerson(Person newPerson)
{
Person[] _More= new Person[_people.Length +1];
_More[_people.Length] = newPerson;
_people = _More;
}
public void DisplayAllPeople()
{
foreach (Person newPerson in _people)
{
newPerson.Display();
}
}
}
【问题讨论】: