• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Search count in String Input

 
Skanda Raman
Ranch Hand
Posts: 205
Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

I have a input in program as string "I am in america. am in". Here we notice that "am" and "in" words appears twice. So I want my output as below

I--1
am--2
in--2
america--1

So i tried below code..Here my first system.out.println just prints matched words like "am" and "in" not others. Please let me know where am i going wrong.

>
 
fred rosenberger
lowercase baba
Bartender
Pie
Posts: 12102
30
Chrome Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
look at where your System.out.println statement is. it's inside the block where you check to see if two strings are equal. since no string ever matches 'america', you will never print anything out for the 'america' string.

for fun, try changing your input string to "I am in america. am in am".

you'll get even stranger results....

you don't want to print out the count as soon as you find a match, since you might find more than one match (as the above suggested string illustrates).

You need to keep a counter for each word you find. Personally, i'd suggest using a map with the word as the key, and an int counter as the value.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic