【发布时间】:2011-04-13 23:09:25
【问题描述】:
我有一个二维数组,其中包含作为字母的字符串,从 A 开始到第 0 行,从 B 到第 1 行等等。我们可以使用 charAt 方法和 ASCII 值 A 是 65 和 B 是 66 等等。它是一种接受一个字符串参数并从相应行中删除参数并删除结构的整行的方法。以下代码中唯一错误的是 remove 方法。
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;
}
【问题讨论】:
-
你的删除方法应该怎么做?从数组中删除给定的字符串?它有什么作用?添加一些输出,以便您查看发生了什么。
-
它只是从数组列表中删除传递的字符串,因此将行减一。
-
您是否观察到它的真正作用?打印出你的清单,你会看到的。
-
是否允许使用
List<List<String>>? -
NOPE.. 列表中没有要打印的元素..
标签: java arrays alphanumeric alphabetical