如何在二维数组中编写公共void删除方法?
我有一个 2D 数组,其中包含字符串作为字母,从 A 开始到第 0 行,从 B 开始到第 1 行等等。我们可以使用 charAt 方法,A 的 ASCII 值为 65,B 为 66 等等。它的方法接受一个字符串参数,并从相应的行删除参数,同时删除结构的整行。以下代码中唯一错误的是删除方法。
public AlphaList() {
this.list=new String[26][];
for (int row=0; row<this.list.length; row++) {
list[row]=new String[0];
}
}
public void insert(String value) {
int firstChar=(int) value.charAt(0)-65;
String[] newList=new String[list[firstChar].length+1];
newList[newList.length-1]=value;
for(int i=0; i<list[firstChar].length;i++){
newList[i]=list[firstChar][i];
}
list[firstChar]=newList;}
public void remove(String value) {
int firstChar=(int) value.charAt(0)-65;
String[] newList=new String[list[firstChar].length-1];
newList[newList.length-1]=value;
for(int i=0; i<list[firstChar-1].length;i++){
newList[i]=list[firstChar-1][i];
}
list[firstChar]=newList;
}
I have a 2D array which contains the strings as letters starting from A goes to row 0 and from B goes to row 1 and etc..we can use charAt method and ASCII value for A is 65 and B is 66 and so on. Its a method that takes an argument a String and deletes the parameter from the corresponding row and also deletes the entire row of the Structure. The only thing wrong IN THE FOLLOWING CODE is the remove method.
public AlphaList() {
this.list=new String[26][];
for (int row=0; row<this.list.length; row++) {
list[row]=new String[0];
}
}
public void insert(String value) {
int firstChar=(int) value.charAt(0)-65;
String[] newList=new String[list[firstChar].length+1];
newList[newList.length-1]=value;
for(int i=0; i<list[firstChar].length;i++){
newList[i]=list[firstChar][i];
}
list[firstChar]=newList;}
public void remove(String value) {
int firstChar=(int) value.charAt(0)-65;
String[] newList=new String[list[firstChar].length-1];
newList[newList.length-1]=value;
for(int i=0; i<list[firstChar-1].length;i++){
newList[i]=list[firstChar-1][i];
}
list[firstChar]=newList;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
根据函数的代码,您删除最后两个元素并将函数参数保存在最后一个单元格上。
您需要编写一个函数来查找存储参数的索引(如果存在)并使用以下代码将其从数组中删除:
According to the code of the function you delete the last two elements and save the function argument on the last cell.
You need to write a function that find the index of the stored parameter (if it exist) and the use this code to delete it from array: