通过文本文件搜索红黑树

Searching a red black tree through text file

我正在做一个学校项目,它是一个使用红黑树的字典应用程序。所以程序读取一个文本文件,每一行只有一个词。 当我进行搜索时,如果我用不同的字母大小输入它,它会告诉我该词不可用。例如,如果文件有词 "Lion" 并且我在我的程序中搜索 "lion" 它说该词在字典中不可用。这是我的搜索方法。请帮我解决这个问题。

public static int search(Node root,String data)
{ 
    while(!root.isNullLeaf)
{    String temporary=root.data;
    if(temporary.equals(data))
    {
        System.out.print("yaaay "+ root.data +" is found\n");
        return 0;
    }
   if(temporary.compareTo(data)>0)
       root=root.left;

     if(temporary.compareTo(data)<0)
       root=root.right;

}
    System.out.println("ouch "+ data+ " not found\n");
    return 1;
    }

您应该使用 XXXIgnoreCase 函数来满足这些类型的要求

temporary.equals(data) 变为 temporary.equalsIgnoreCase(data) 并且 temporary.compareTo(data) 变为 temporary.compareToIgnoreCase(data)

我还更正了部分代码以简化您的逻辑

public static int search(Node root,String data) { 
    while(!root.isNullLeaf) {    
        String temporary=root.data;
        if(temporary.equalsIgnoreCase(data)) {
            System.out.print("yaaay "+ root.data +" is found\n");
            return 0;
        }
        int compareResult = temporary.compareToIgnoreCase(data);
        if(compareResult > 0)
            root = root.left;
        else
            root = root.right;   
    }
    System.out.println("ouch "+ data+ " not found\n");
    return 1;
}