识别JAVA字符串中的单个单词

识别JAVA字符串中的单个单词,java,string,variables,substring,Java,String,Variables,Substring,我的项目让用户在一行中输入三个单词(大于两个字符),例如:一二三,将每个单词切掉一些字母(详见下文),最后将修改后的单词组合成一个大字 我是用伪代码写的,但是我遇到了一个问题,那就是如何使用substring方法来确定一个单词何时结束,下一个单词何时开始。我想我能做的就是找出单词之间的空格,并以此为断点。有什么样的if语句我可以用吗?比如“如果(nextchar='')开始存储在下一个变量中,并将其全部放入while循环中?” 如果我把它弄得太混乱了,这是我的教授给我的作业。请不要只是给我答案,

我的项目让用户在一行中输入三个单词(大于两个字符),例如:一二三,将每个单词切掉一些字母(详见下文),最后将修改后的单词组合成一个大字

我是用伪代码写的,但是我遇到了一个问题,那就是如何使用substring方法来确定一个单词何时结束,下一个单词何时开始。我想我能做的就是找出单词之间的空格,并以此为断点。有什么样的if语句我可以用吗?比如“如果(nextchar='')开始存储在下一个变量中,并将其全部放入while循环中?”

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

  • 提示用户输入三个单词,用空格分隔。将单词作为字符串输入
  • 将第一个单词中除第一个之外的所有字符与第二个单词中的所有字符连接在一起 word,第一个和最后一个除外,第三个单词中的所有字符,最后一个除外。打印此字符串并 为了简单起见,您可以假设用户输入的每个单词至少有 两个字符(不必检查)。例如,如果输入的三个单词是“fun”,“With”, “Strings”,则此步骤的输出应为“unitString”。提示:此步骤使用substring()方法。另一个 提示:将子字符串存储在三个新的字符串变量中,这样就不会更改三个原始单词
  • 谢谢!

    使用

    代码与文本的比率非常低。请修改此文档以供将来参考

    更多关于:

    询问代码的问题必须表明对正在解决的问题的最低理解。包括尝试的解决方案、为什么它们不起作用以及预期的结果


    最后,在接下来的问题中,请遵循这一点。否则,如果人们注意到这是重复出现的行为,您的反应会差得多。

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

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

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

    首先创建一个用于读取输入的:

    Scanner s = new Scanner(System.in);
    
    然后,通过以下步骤读取用户的三个输入(一行接一行输入):

    最后,如教授所述:

    firstProcessed = first.substring(1, first.length - 1); 
    
    这将获取第一个输入字,并将其从第二个字符分割到倒数第二个字符


    希望您能在接下来的过程中继续使用。

    文本的神圣之墙回来了。请尝试您认为可以使用substring方法的内容,然后发布您遇到的任何问题/错误。如果您在发布帮助之前尝试您认为可能行得通的内容,您会帮自己一个忙。这个问题本来可以用更好的措辞,但我真的认为没有必要堆积新手(可能是社区新手)并最终阻止他/她参与其中。最好对社区规范和他/她的问题给予温和的指导。我理解这个问题。我甚至用自己的话解释了这个问题,除了张贴我的导师的解释。我在网站上四处搜索,但在关键词方面遇到了问题。我不断地回到一些问题上“分裂”“,但我们还没有学会,所以我不想搞砸它。我包括了一些我认为相关的代码片段,但在实践中遇到了困难。作为一名程序员,你的整个职业生涯将包括“搞乱它”。在官方文档中查找它的功能并开始尝试,没有更好的学习方法。也不要让课程的节奏阻碍你,领先并没有什么不好的。谢谢你的回答。我应该把输入放在一行,而不是三行。这就是我的问题所在。然后读一行,然后调用line.split(“”)。这将生成一个三元素数组。然后,按照上述步骤处理这些字符串。或者正如@Vae所建议的,您也可以使用StringTokenizer
    firstProcessed = first.substring(1, first.length - 1);