【问题标题】:Getting String input from the user and searching it in an array从用户获取字符串输入并在数组中搜索
【发布时间】:2015-01-28 21:40:11
【问题描述】:

我需要从用户那里获取字符串输入并在某个数组中搜索它,然后我需要对结果进行排序

  1. 最相似的东西
  2. ....
  3. ......

like 用户的输入将类似于“The mos”,并将其显示为结果。

这是我为它编写的方法,但我无法完成它: (这是一些作业,我需要使用自己编写的数据结构,我需要使用哈希图来创建电话簿。如果您需要我的其他课程,我可以更新问题。)

  public static void searchByName()
        {
            System.out.println("Name: ");
            String nameSearch = input.next();
            for(int i=0; i < contactList.bucket.length; i++)
            {
                Iterator itr = (LinkedListIterator<HashEntry<Integer,Person>>) contactList.bucket[i].iterator(); 
                while(itr.hasNext()){
                HashEntry<Integer,Person> he = (HashEntry<Integer, Person>) itr.next();
                int similarity = nameSearch.compareTo(he.getValue().getName());
                HashEntry<Integer,String>[] similarArray = null;
                for(int x=0; x < contactList.bucket[i].size; x++)
                {
                    similarArray[x] = new HashEntry(similarity, he.getValue().getName()); 
                }//end of for loop

                }//end of while loop

            }//end of for loop

        }//end of searchByName

【问题讨论】:

  • 我希望看到您的缩进已修复。
  • 谢谢,希望有人能帮帮我
  • 请澄清:您想要简单地完成输入,您想要更正建议还是两者都想要?
  • 您需要什么样的帮助?您知道如何判断哪个元素最接近输入吗?您需要算法、输出或其他方面的帮助吗?
  • @midor 想要数组中最相似的值。它将是一个联系人列表,因此当您键入一些文本信息时,它会显示最相似的结果。是的,结果应该不止一个。

标签: java data-structures hash hashmap


【解决方案1】:

您必须考虑如何判断哪些元素与用户的输入“相似”。

突然想到:

  • 包含输入中的 1 个或所有单词的元素。
  • 包含整个链的元素。
  • 包含所有字母的元素,不关心顺序。

当您知道自己想要什么算法时,实现它应该很容易,但您首先需要在编写任何代码之前问自己这些问题

【讨论】:

  • 我认为它应该显示包含来自输​​入或整个链的 1 个或所有单词的元素。谢谢你的帮助
  • 那么你只需要考虑你需要什么来实现它:在单词数组中分解输入,在单词数组中分解元素,然后比较每个单词。
  • 谢谢。我想通过 String.compareTo() 方法获取相似度值,然后创建一个“HashEntry”数组,该数组用名称分配相似度值,然后以某种方式对相似度值排序该数组并将该数组打印到屏幕上,但我不知道如何实现。上面这个代码块是我能做的。
  • 无法为您提供更多帮助,您拥有完成这项工作的所有关键。这里的问题不是技术问题,你只需要拿一张纸和一支笔,开始思考你想做什么。一旦你这样做了,一切都会变得顺利:)
  • 感谢您的帮助,祝您有美好的一天:)
猜你喜欢
  • 1970-01-01
  • 2021-07-28
  • 2018-08-06
  • 1970-01-01
  • 1970-01-01
  • 2015-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多