(在发布时,我无法访问代码,稍后会添加)
我有一组Employee对象,它们包含名称,可用性和首选小时数。我根据员工的姓名按字母顺序对对象进行排序。
当程序启动时,它会检查文件,如果它们是空的,它会询问您有多少员工,然后继续填写数据。并且它正确分类A-Z。
当我尝试添加新员工时,在调整数组大小后,即使排序完成,它也会将其添加到最后。
所以它在第一次排序,但在重新运行程序后不再排序。我回家后会发布代码,但想知道是否有人在同一时间有任何答案。谢谢
static void employeeSort(Employee[] emply, int size)
{
int i;
Employee temp;
boolean flag = true;
while(flag)
{
flag = false;
for(i = 0; i < size; i++)
{
if (emply[i].getName().compareTo(emply[i+1].getName())>0)
{
System.out.println(emply[i].getName());
temp = emply[i];
emply[i] = emply[i+1];
emply[i+1] = temp;
flag = true;
}
}
}
}
在第一次运行时,它会正确排序所有内容,但是一旦从文件中读取数组,程序就会在排序中终止。我尝试实现优先级队列,但我需要使类可比,并且它已经实现了Serializable。
public class Employee implements Serializable
{
int prefHours;
String name;
String avail;
Employee( String nam, int hours, String aval )
{
name = nam;
prefHours = hours;
avail = aval;
}
void prnEmpl()
{
System.out.print("Name: " + name);
System.out.println();
System.out.print("Prefered hours: " + prefHours);
System.out.println();
System.out.print("Availability: " + avail);
System.out.println();
}
String getName()
{
return name;
}
String getAvail()
{
return avail;
}
}