Go4Expert

Go4Expert (http://www.go4expert.com/)
-   Java (http://www.go4expert.com/forums/java/)
-   -   Java Exercise: Abecederian Program (http://www.go4expert.com/forums/java-exercise-abecederian-program-t16388/)

hanleyhansen 2Mar2009 02:18

Java Exercise: Abecederian Program
 
I need to write a program in java that checks whether or not a word is an abecedarian. An abecedarian is a word whose letters appear in alphabetical order. Here is the exercise straight from the 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, behint, beknow,
bijoux, biopsy, cestuy, chintz, dehors, dehort, deinos, diluvy,
dimpsy
a. Describe an algorithm for checking whether a give word (String) is abecedarian,
assuming that the word contains only lower-case letters. Your algorithm can be
iterative or recursive.
b. Implement your algorithm in a method called isAbecedarian.

Here is what I got so far:

Code:

public class Main {
   
    public static void main(String[] args) {
      String word1 = "abcdefg";
      int index = 0;
      char x = word1.charAt(index);
      char y = word1.charAt(index++);
      int z = x.compareTo(y);
      if (z < 0) {
        System.out.println ("name1 comes before name2.");
    } else if (z > 0) {
        System.out.println ("name2 comes before name1.");
    }
    }
   
}

The problem I'm having is in the part I bolded out. The error I get is "char can not be dereferenced". Does anyone know how I can fix this or how I can do this exercise anny other way? I've been working on it for hours be at the moment I'm pretty much stuck so any suggestions are greatly appreciated.

hanleyhansen 2Mar2009 03:45

Re: Java Exercise: Abecederian Program
 
Problem solved. If anyone is interested in my final code PM me and I'll send it to you.

Marimuthu 29Feb2012 22:44

Re: Java Exercise: Abecederian Program
 
The above code doesn't work since we can't use char data on compareto!!!!!!!!!!!

Here is the final version

:):):):):):):):):):):):):):):):):):):):):):):):):) :):):):):):):):):):):)


Code:

class abecedarian
{
public static  void main(String args[])
{
System.out.println(test("agnosy"));
}
public static boolean test(String s)
{
int x=s.length();
int i=0;
int j=1;
int k=2;
while (k<=x)
{
String a=s.substring(i,j);
String b=s.substring(j,k);
int flag=a.compareTo(b);
if(flag<=0)
{
i++;
j++;
k++;
}
else
{
return false ;
}
}
return true;
}
}



All times are GMT +5.5. The time now is 09:31.