我在java中有初学者问题,因为我不知道我的数组有什么问题,因为我无法通过它们进行索引。是的,我知道还有另一种更快速的检查回文的方法,但请看看。
public boolean palindrom (String a){
List<String> normal = new ArrayList<String>();
List<String> modified = new ArrayList<String>();
for (String x: a.split("")){
normal.add(x);
}
for (String x:new StringBuilder(a).reverse().toString().split("")){
modified.add(x);
}
for (int i=0;i<a.split("").length;i++){
if (normal[i]!=modified[i]){
//in this line above is error as it doesnt recognise "normal" and "modified" arrays
return false;
}
}
return true;
答案 0 :(得分:0)
列表的编制方式与数组的索引方式不同。不要使用普通[i],而是使用normal.get(i)。
for (int i=0;i<a.split("").length;i++){
if (normal.get(i) != modified.get(i)){
return false;
}
}
答案 1 :(得分:0)
这些不是阵列,而是ArrayList
要获取元素i
,您必须执行normal.get(i)
https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html