Does anyone know why i might be getting an '}'
expected error at line 60 which is basically
at the end of the program? I dont see that
i am mising any brackets.
Im doing a little program that was
assigned by one of my friends teachers
as a project. So i decided to do
it to just to get some practice. My algorithm
for calculating the string is off {just to tell you}
so ill have to work on it.![]()
Code:// create a method that takes a String as an arguement and returns a TreeMap // which will map the string and the number of characters that occur only // once within the string. since the counting operation can be // time consuming, the method should cache // the results so that when the method is // given a string previously encountered,it will // simply retrieve the stored result. import java.io.*; import java.util.*; public class MultipleChar{ public static void main(String[] args){ for(;;){ BufferedReader buff = new BufferedReader(new InputStreamReader(System.in)); try{ System.out.println("Please enter a string"); String key = buff.readLine(); TreeMap tm = (TreeMap) checkForDuplicates(key); System.out.println("Within" + tm.get(key) + "there were" + "characters that only appeared once"); System.out.println("Press x if you would like to exit"); String exit = buff.readLine(); if(exit.equalsIgnoreCase("x")){System.exit(0);} }catch(Exception e){System.err.println(e);} } // end for } // end main public static Object checkForDuplicates(String key){ int onlyappearsonce = 0; boolean charmatch = false; String matchingString; Map stringMap = new TreeMap(); // check map to see if string is present // if it is return key for(Iterator i = (stringMap.values()).iterator(); i.hasNext();){ if(stringMap.containsKey(key)){ return stringMap.get(i.next()); } i.next(); } // if string is not present // calculate characters that only appear once and add to map for(int index = 0; index <= matchingString.length() - 1; ++index){ char matchingchar = matchingString.charAt(index); for(int x = 1 + index; x <= matchingString.length() - x ; ++x){ if(matchingchar == matchingString.charAt(x)){ charmatch = true; break; } if(charmatch == false){++onlyappearsonce;} } Integer charcount = new Integer(onlyappearsonce); return stringMap.put(key,charcount); }




Reply With Quote