【问题标题】:Identify individual words within a string JAVA [closed]识别字符串JAVA中的单个单词[关闭]
【发布时间】:2013-10-14 18:45:57
【问题描述】:

我的项目让用户输入三个单词,都在一行中,(大于两个字符),示例:一二三,每个单词都会切一些字母(具体见下文),最后组合修改后的单词一个大字。

我用伪代码写了这一切,但我在找出如何使用 substring 方法来确定一个单词何时结束以及下一个单词何时开始时遇到了问题。我想我能做的就是以某种方式识别单词之间的空间,并将其作为断点。是否有某种我可以使用的 if 语句?就像“if (nextchar = ' ') 开始存储在下一个变量中?并将所有内容放入一个while循环中?

如果我把它弄得太混乱了,这是我的教授给我的作业。请不要只给我答案,我更愿意指出正确的方向并弄清楚。

  1. 提示用户输入三个单词,用空格分隔。以字符串形式输入单词。
  2. 将第一个单词中的所有字符(第一个单词除外)与第二个单词中的所有字符连接在一起 单词,除了第一个和最后一个,第三个单词中的所有字符除外,最后一个除外。打印此字符串并 只有这个字符串出来。你可以假设——为了简单起见——用户输入的每个单词至少有 两个字符(你不必检查这个)。例如,如果输入的三个词是“fun”、“With”、 “Strings”,那么这一步的输出应该是“unitString”。提示:在此步骤中使用 substring() 方法。其他 提示:将子字符串存储在三个新的字符串变量中,这样您就不会最终更改三个原始单词。

谢谢!

【问题讨论】:

  • 文字圣墙回来了。
  • 尝试您认为可以使用 substring 方法的方法,然后发布您遇到的任何问题/错误。如果您在发帖寻求帮助之前尝试您认为可行的方法,您会帮自己一个忙。
  • 这个问题可以用更好的措辞来表达,但我真的不认为有必要堆积初学者(可能是社区的新手)并最终阻止他/她成为其中的一员它。最好对社区规范和他/她的问题给予温和的指导。

标签: java string variables substring


【解决方案1】:

使用myString.Split(" ");

代码与文本的比率非常低。请修改rules 以供日后参考。

更多point:

要求代码的问题必须表明对要解决的问题有最低限度的了解。包括尝试的解决方案、它们为什么不起作用以及预期的结果。

最后,请关注checklist 来回答您的下一个问题。否则,如果人们注意到这是反复出现的行为,您的接收效果会更差。

【讨论】:

  • 我理解这个问题。除了发布我的导师解释之外,我什至用我自己的话解释了它。我在该网站上进行了搜索,但遇到了关键字问题。我不断地回到一个叫做“分裂”的东西,但我们还没有学会,所以我不想搞砸它。我包含了我认为相关的代码 sn-ps,但在将它们付诸实践时遇到了麻烦。
  • 你作为程序员的整个职业生涯将包括“搞砸它”。在官方文档中查找它的作用并开始尝试,没有更好的学习方法。也不要让课程的节奏阻碍您,抢占先机并没有什么不好。
【解决方案2】:

首先创建一个Scanner 来读取输入:

Scanner s = new Scanner(System.in);

然后这些从用户那里读取三个输入(一行接一行输入):

first = s.nextLine();
second = s.nextLine();
third = s.nextLine();

最后,按照教授的描述使用substring

firstProcessed = first.substring(1, first.length - 1); 

这会获取第一个输入单词并将其从第二个字符切到倒数第二个字符。

希望你能坚持下去。

【讨论】:

  • 感谢您的回复。我应该在一行中输入,而不是三行。这就是我的问题所在。
  • 然后读取一行,调用line.split(" ")。这将产生一个三元素数组。然后,您如上所述处理这些字符串。或者正如@Vae 建议的那样,您也可以使用 StringTokenizer docs.oracle.com/javase/7/docs/api/java/util/…
【解决方案3】:

我会查看以下内容:String.substring() 命令或StringTokenizer 类。

String.subString() 将允许您根据索引中断输入。您可以搜索空格的索引并从它们之间返回子字符串。

StringTokenizer 将允许您通过分隔符将字符串拆分为标记,即您可以使用“”作为分隔符,并且标记器会将字符串分隔为空格之间的标记。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 2022-08-16
    • 1970-01-01
    • 2012-10-30
    • 2022-01-23
    相关资源
    最近更新 更多