如何将某些内容与已经打印过的内容进行比较?

时间:2017-11-03 21:41:20

标签: java compare equals compareto

我正在编写需要用户输入的代码(他们的名字)。我想放入一些东西,将每个名称与之前的名称进行比较,这样就不会打印两次名称(因此,如果有人在John Smith中输入两次,那么会打印一些说“这个名称已被使用过的名称” ,再试一次')。我的老师告诉我们使用equals或compareTo等方法,但我不知道怎么做。我的一些代码如下:

j

显然我在那里所做的并不起作用(使用equals方法)。有谁知道一种可以提供帮助的方法?

2 个答案:

答案 0 :(得分:0)

在你的任务中,首先想一想主要的想法:

  1. 您想输入姓名。
  2. 您想要相互比较它们。
  3. 嗯,第一项任务很简单,你已经做到了:)

    第二项任务需要澄清一下。你几乎尝试过,你只能检查以前的名字。如果要将每个新名称与之前的名称进行比较,则必须以某种方式存储它们。看,计算机是愚蠢的,你必须告诉它每个命令来实现你的目标(为你的任务创建算法)。

    因此,您的任务的算法或步骤是:

    1. 决定在哪里存储您的数据(名称)| Java有数据存储,如:简单数组和更高级的结构,如列表,集等。
    2. 创建空存储|你必须准备你的空存储。只是初始化它
    3. 创建一个循环,您将在其中输入名称|当然是结束条件(32次)
    4. 在循环中输入名称
    5. 检查一下|所以,正如我之前所说的那样。绝对是愚蠢的,即使你最初的存储是空的,每次你的输入名称你需要通过你的存储(与另一个循环),与每个名称(如果存在)比较,如果你突然遇到相同的名称,你有再试一次,然后进入第4步。否则,如果您的存储空间中没有该名称,请将其放置,以便将来检查其他副本!
    6. 工作直到你的循环结束!
    7. 就是这样!给你做作业的小教程) 所以你的功课是在上面实现这个算法。 我想现在,你的老师不得不告诉你有关阵列的事情吗?

      对于第5步,如果您不了解数据结构,甚至还有疯狂的方法来检查名称。你可以创建一些String变量,你可以用一些棘手的方式存储名称:“'John Smith''Allien Wood'”。接下来,每次输入新名称时都必须经历这个可能的大字符串并检查其子字符串。棘手-怪异!

答案 1 :(得分:0)

如果我理解你的问题,这应该是你的解决方案。

{{1}}