Java 在字符串[][]中执行搜索
给出一个二维数组T,其中包含基本类型String和一些String str(可以像String类型的数组一样处理)。我想检查T是否包含某些部分str作为其条目。我试过这个:Java 在字符串[][]中执行搜索,java,arrays,types,comparison,Java,Arrays,Types,Comparison,给出一个二维数组T,其中包含基本类型String和一些String str(可以像String类型的数组一样处理)。我想检查T是否包含某些部分str作为其条目。我试过这个: int indeksck = str.indexOf("C"); while(k<T.length){ if(T[k][2] == str.substring(indeksck+1)){ if(T[k][1] == str.substring(6, indeksck)){
int indeksck = str.indexOf("C");
while(k<T.length){
if(T[k][2] == str.substring(indeksck+1)){
if(T[k][1] == str.substring(6, indeksck)){
int ile_o = Integer.parseInt(T[k][0]);
T[k][0]= Integer.toString(ile_o+1);
T[k][3] = T[k][3]+"X"+str.substring(1,6);
k = T.length+1;
} else {
k++;
}
} else {
k++;
if(k==T.length){
k = 0;
while(k<T.length){
if(T[k][0]==null){
T[k][0] = Integer.toString(1);
T[k][1] = str.substring(6,indeksck);
T[k][2] = str.substring(indeksck+1);
T[k][3] = str.substring(1,6);
k = T.length+1;
} else {
k++;
}
}
}
}
}
int indexck=str.indexOf(“C”);
而(k您不能使用==进行字符串比较。请尝试:
if(T[k][2].equals(str.substring(indeksck+1))) {
Java中的=
运算符用于引用比较。要检查对象的等价性(字符串也是如此),需要使用equals()
方法。切勿将字符串与=
进行比较,请使用.equals()
,作为解释。这里有很多事情你没有解释。为什么从子字符串索引6
开始?为什么每个条目t[k]
只有索引0-3
?X
是关于什么的?为什么要递增t[k][0]
by 1并转换回字符串?你能提供一个例子说明T
和str
的内容,以及你的代码到底在寻找什么吗?@jlordo我试过了,但没有用。@mellamokb字符串的格式是特殊的,我认为这不重要。如果等于()
返回两个字符串的false
,因为它们没有相同的确切内容。