File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
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
JavaRanch » Java Forums » Java » Java in General
Bookmark "Abecedarian Testing - Problem with char Watch "Abecedarian Testing - Problem with char New topic

Abecedarian Testing - Problem with char's and While loops

Alex Richards

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
abdest, acknow, acorsy, adempt, adipsy, agnosy, befist, behint, beknow,
bijoux, biopsy, cestuy, chintz, deflux, dehors, dehort, deinos, diluvy,

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

Joined: Aug 05, 2005
Posts: 3742
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()).

I agree. Here's the link:
subject: Abecedarian Testing - Problem with char's and While loops
It's not a secret anymore!