Count the occurrence of a specific character in a string by using substring in Scala -


i new programming. , i'm being asked count occurrence of specific character in string using substring , recursion in scala. totally lost , don't know how check equality of second character in string. not supposed use tailrecursion , map. many thanks!

my code far looks this:

def countchars(str:string, chr:char):int = {     if (str.length == 0)  0     else {     if (chr == str.substring(0,1)) 1     else 0}   + countchars() } println(countchars()) 

first of all, working version (haven't used shortest version make easier read):

def countchars(str: string, chr: char): int = {    if (str.length == 0) {      0    } else {      (if (chr.tostring() == str.substring(0, 1)) {         1      } else {         0      }) + countchars(str.substring(1), chr)    } }  println(countchars("hello world", 'l'))         //> 3 

you had 2 problems. first didn't call countchars right parameters. , more important , maybe not obvious: compared char string. never true:

chr == str.substring(0,1) 

because == or equals both checking type first, different. use typecast or in case simple tostring did.

hope helps you.

edit sorry pressed post button accidentily.


Comments

Popular posts from this blog

html - Outlook 2010 Anchor (url/address/link) -

javascript - Why does running this loop 9 times take 100x longer than running it 8 times? -

Getting gateway time-out Rails app with Nginx + Puma running on Digital Ocean -