List<xuesheng> xs =new List<xuesheng>();
int i = 1;
while (true)
{
xuesheng xs1 = new xuesheng();
Console.WriteLine("请输入第{0}个学生的姓名:",i);
xs1.name = Console.ReadLine();
Console.WriteLine("请输入第{0}个学生的性别:",i);
xs1.xb = Console.ReadLine();
Console.WriteLine("请输入第{0}个学生的年龄:",i);
while (true)
{
int nl;
if (int.TryParse(Console.ReadLine(), out nl))
{
break;
}
Console.WriteLine("你输入的年龄有误,请重新输入");
}
Console.WriteLine("请输入第{0}个学生的学号:",i);
xs.Add(xs1);
if (i>=3)
{
break;
}
i++;
}
int j = 0;
foreach (var item in xs)
{
Console.WriteLine("第"+i+"个学生的姓名为{0},性别为{1},年龄为{2},学号为{3}",item);
j++;
}
Console.ReadKey();
到底哪里错了 运行的时候 直接是这样的:
请输入第一个学生的姓名:
1
请输入第一个学生的性别:
男
请输入第一个学生的年龄:
19
请输入第一个学生学号:
请输入第二个学生姓名 这里直接输出两个一起 中间没有输入 什么情况!!!
你连个
xs1.xh= Console.ReadLine();
都能漏了,还问?!
啊哈 我刚发出去就看见了= =我也是醉了 玩晕了。
很明显,没有接受学号的代码,当然就直接过了。
是不是应该在这两句之间加一个接受输入的代码?
--------
Console.WriteLine("请输入第{0}个学生的学号:",i);
xs.Add(xs1);
--------
PS:您这个使用的是什么代码?
提问贴代码的时候最好使用代码模板,你这个直接贴出来读起来太费劲来。。。