Java 通过文本文件搜索红黑树
我正在做一个学校项目,它的字典应用程序使用红黑树。。所以程序读取一个文本文件,每行只有一个单词。 当我进行搜索时,如果输入的字母大小不同,则该单词不可用。。例如,如果文件中有“Lion”一词,而我在程序中搜索了“Lion”,则表示字典中没有该词。。这是我的搜索方法。请帮我解决这个问题Java 通过文本文件搜索红黑树,java,red-black-tree,Java,Red Black Tree,我正在做一个学校项目,它的字典应用程序使用红黑树。。所以程序读取一个文本文件,每行只有一个单词。 当我进行搜索时,如果输入的字母大小不同,则该单词不可用。。例如,如果文件中有“Lion”一词,而我在程序中搜索了“Lion”,则表示字典中没有该词。。这是我的搜索方法。请帮我解决这个问题 public static int search(Node root,String data) { while(!root.isNullLeaf) { String temporary=root.d
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;
}
publicstaticint搜索(节点根,字符串数据)
{
而(!root.isNullLeaf)
{String temporary=root.data;
if(临时相等(数据))
{
System.out.print(“找到yaaay”+root.data+”\n);
返回0;
}
if(临时比较(数据)>0)
root=root.left;
如果(临时)与(数据)比较您应该使用XXXIgnoreCase
函数来满足这些类型的需求
temporary.equals(data)
变成temporary.equalsIgnoreCase(data)
和temporary.compareTo(data)
变成temporary.compareTignoreCase(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;
}