编写我自己的compareToIgnoreCase方法

时间:2017-07-25 17:47:57

标签: java arrays string

所以我现在四处寻找类似的问题一两天,这似乎是一个新话题。对于一个小项目,我试图手工编写我自己的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;
    }
}

2 个答案:

答案 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;
}

所以,基本上我们将以小写字母转换字符数组,以便您可以轻松地在两个字符数组之间进行比较。