【发布时间】:2022-01-22 11:58:49
【问题描述】:
我想做的是创建一个将两个对象作为输入的方法 字符串类型。如果两个字符串相同(字间距和大小写无关紧要),该方法将返回逻辑真值。我想拆分字符串,制作一个元素数组,将每个元素添加到列表中,然后将每个元素与空间进行比较并将其从列表中删除。最后使用 compareToIgnoreCase() 方法。我停止从 List 中删除 string2 的空间。它适用于string1List,不适用于string2List,我想知道为什么? :(
我会很感激你的帮助,我花了很多时间在上面,但我被困住了。也许有人知道更好的解决方案。
import java.util.ArrayList;
import java.util.List;
public class Strings {
public static void main(String[] args) {
String string1 = "This is a first string";
String string2 = "this is a first string";
String[] arrayOfString1 = string1.split("");
List<String> string1List = new ArrayList<>();
for (int i = 0; i < arrayOfString1.length; ++i) {
string1List.add(arrayOfString1[0 + i]);
}
String[] arrayOfString2 = string2.split("");
List<String> string2List = new ArrayList<>();
for (int i = 0; i < arrayOfString2.length; ++i) {
string2List.add(arrayOfString2[0 + i]);
}
for (int i = 0; i < string1List.size(); ++i) {
String character = string1List.get(0 + i);
if (character.equals(" ")) {
string1List.remove(character);
}
}
for (int i = 0; i < string2List.size(); ++i) {
String character = string2List.get(0 + i);
if (character.equals(" ")) {
string2List.remove(character);
}
}
System.out.println(string2List.size());
}
}
【问题讨论】:
-
“字间距 .. 无关紧要”是什么意思?你认为
"a b c"和"a b c"和"abc"是相等的字符串吗? -
是的,这是java老师的想法;/
-
然后您可以简单地删除两个字符串中的所有空格(将它们替换为空)并比较其余字母而不区分大小写。类似
str1.replace(" ","").equalsIgnoreCase(str2.replace(" ",""))
标签: java string list arraylist compareto