如何从用户输入字符串中搜索子字符串并打印出来

时间:2015-09-22 23:23:38

标签: java string

所以我有一个用户输入一个字符串和一个单词的赋值,然后程序将在字符串中搜索这个单词并用起始索引打印出来。

例如,如果用户输入此字符串:

  

abccbaabcccabbcacbbbca

这个词:

  

AB

该程序将打印出来:

  

1 abccbaabcccabbcacbbbca

     

7 abcccabbcacbbbca

     

12 abbcacbbbca

     

发现3个人员伤亡

当我刚刚开始学习Java时,我只学习了基本循环(for,while),并且只是学习使用字符串类中的一些方法,包括:

int compareTo()

boolean equals()

Int ength()

static String valueOf()

char charAt()

int indexOf

String substring

String toLowerCase / UpperCase()

String trim()

就我而言,我应该在for循环中使用这些方法,但我不知道如何做到这一点。用户输入字符串的扫描也需要是个例。谁能想出一个如何做到这一点的例子或解释?一个有解释的例子将不胜感激。

编辑1:@ Zong Zheng Li,当我只是对我的问题的一个方面进行处理时,我不知道我的问题是如何与你的链接问题重复。

1 个答案:

答案 0 :(得分:0)

使用for循环,其中(不提供代码):

  • 迭代变量最初设置为文本
  • 中单词的索引
  • 终止条件是返回的索引是-1
  • 下一个值是当前索引值
  • 后的子字符串的索引

在循环体中,从索引开始打印出文本的子串。

要计算找到匹配的次数,请在循环之前声明另一个变量并将其设置为零。在循环内部,将其递增1。 循环后打印出计数器的值。

您需要的方法是indexOf(String)indexOf(String, int)substring(int)