File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Java in General and the fly likes Abecedarian Testing - Problem with char's and While loops Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Abecedarian Testing - Problem with char Watch "Abecedarian Testing - Problem with char New topic
Author

Abecedarian Testing - Problem with char's and While loops

Alex Richards
Greenhorn

Joined: Mar 07, 2011
Posts: 9
This in an exercise in my book:

Exercise 7.6
A word is said to be “abecedarian” if the letters in the word appear
in alphabetical order. For example, the following are all 6-letter English abecedarian
words.
abdest, acknow, acorsy, adempt, adipsy, agnosy, befist, behint, beknow,
bijoux, biopsy, cestuy, chintz, deflux, dehors, dehort, deinos, diluvy,
dimpsy

What this excercise wants us to do is simply test if a string is abecedarian or not. Here is my code so far:



... The output of this code is:

'Acknow' is an abecedarian?: true
'Sevenfold' is an abecedarian?: false
'Abcdefgh' is an abcedarian?: true
'Abcdefhg' is an abcedarian?: true

______________________________
What I noticed is that my while loop seems to only be testing for the first 2 letters of the string. Hence, it realizes that "sevenfold" is not abecedarian, but doesn't realize that "abcdefhg" is not either. What did I do wrong/what should I change in my program so that it tests ALL the letters in each string?
Joanne Neal
Rancher

Joined: Aug 05, 2005
Posts: 3429
    
  12
You never change the values of a and b in your loop, so all you are doing is continuously comparing the first and second letters.

You've also got way too many variables in there. Keep it simple and get rid of x (replace it with index), first and second (just use s.charAt()), a and b (you can compare chars using >, so you don't need to convert them to ints) and length (replace it with s.length()).


Joanne
 
wood burning stoves
 
subject: Abecedarian Testing - Problem with char's and While loops
 
Similar Threads
Enumerating Letters (a=1,b=2..)
Phrase Guessing Game Help
Writing a Recursive Descent Parser, I think I'm done, well almost?
More help on java modifications
cleaner code