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

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.