我建议,而不是用这种怪异的双阵列工作,你以正确的方式解决这个问题。目前的代码很混乱,不可维护。更糟糕的是,它似乎可能会复制记录,因为在左移二维数组中的所有列后,最后一列将包含最后一列的副本。
Java是一种面向对象的语言。使用对象。
//declare a class to store the info about one employee
//this will replace one column in your double array
public class Employee {
//each one of these fields corresponds to one cell in your double array
public string data1;
public string data2;
public string data3;
}
,然后将它们存储在一个链表:
//this is just an example of how you would add employees to a list instead of an array
LinkedList<Employee> employees = new LinkedList<>(); //make a linked list
Employee toAdd = new Employee(); //make an employee
toAdd.data1 = "example"; //set up his data
toAdd.data2 = "setting";
toAdd.data3 = "fields";
employees.add(toAdd); //add him to the list
然后删除雇员,而不是做与数组这个复杂和inefficent方法,只得到一个链接到你想要的员工,致电
employees.remove(iEmployee);
其中iEmployee是要删除的员工列表中的数字。
你试过sData [iLoop-1] [iLoop2] = sData [iLoop] [iLoop2];'? – Ian
是的,但无论我如何改变它,即sData [iLoop - 2] [iLoop2] = sData [iLoop - 1] [iLoop2];它仍然会删除当前的记录,最终它会给出一个超出界限例外。我很困惑,这是一段简单的代码。 –
它是否必须是固定数组?或者你能够使用ArrayList或其他集合?有没有理由不能创建一个对象类? – Ian