我学习Java大约需要5周的时间,并且正在做家庭作业。我已经满足了要求,但是想尝试使用该程序,以使其在实际使用时更加实用。
我们的任务是创建5种不同类型的对象,将它们存储在数组中,并使用Enhanced for循环处理数组。我试图修改程序,以允许用户创建1-100个不同的对象,将它们存储在数组中,然后使用增强的for循环处理数组。
我首先创建了一个足以容纳100个对象的数组。
Employee employees[] = new Employee[ 100 ];
问题是,如果用户输入的对象少于100个,则大多数数组为空。增强的for循环尝试处理这些空白并引发错误。
for ( Employee currentEmployee : employees )
{
...........
}
有解决这个问题的方法吗?我想允许用户确定创建了多少个对象,使用数组保存/引用这些对象,并使用增强的for循环处理该数组。有什么办法吗?
谢谢,
布伦特·克劳奇(Brent Crouch)
我同意其他有关首选使用列表而不是数组或以适当大小的数组开头的答案,但是如果这些都不可行,您也可以使用自己的方法。
我不相信对null值的增强的for循环扼流圈。您可以轻松地自己过滤掉它们。做就是了:
Employee employees[] = new Employee[100];
// fill the array
for (Employee currentEmployee : employees) {
if (currentEmployee != null) {
// process currentEmployee
}
}
// or using continue to avoid undue nesting/indentation
for (Employee currentEmployee : employees) {
if (currentEmployee == null)
continue;
// process currentEmployee
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句