所以我现在四处寻找类似的问题一两天,这似乎是一个新话题。对于一个小项目,我试图手工编写我自己的compareToIgnoreCase()方法,而不使用API作为字符串。在程序中,用户输入一个字符串,类定义将字符串转换为char数组。用户将输入另一个字符串,并将其与输入的第一个字符串进行比较。这是我写的compareTo()
方法。我的问题是,如何在比较时编辑它以忽略这种情况。
public int compareTo(MyString anotherMyString) {
if(anotherMyString.sequence[i] > 0) {
return 1;
} else if(anotherMyString.sequence[i] == 0) {
return 0;
} else {
return -1;
}
}
答案 0 :(得分:2)
假设您使用java.lang.Character
没问题,忽略大小写的一种可能解决方案是在比较它们之前将每个char转换为小写:
char1 = Character.toLowerCase(char1);
char2 = Character.toLowerCase(char2);
// compare char1, char2
答案 1 :(得分:0)
您可以使用以下逻辑,代码
char charInput[] = new char[]{'A', 'B', 'C'};
for (int i = 0; i < charInput.length; i++)
{
char a = charInput[i];
//This will make your char to lower case if it is in uppercase.
if(a >=65 && a<= 90)
a+=32;
charInput[i] = a;
}
所以,基本上我们将以小写字母转换字符数组,以便您可以轻松地在两个字符数组之间进行比较。