I have the magical ability to find every possible error in the course of learning about something.  Take for example todays exploits.  I'm developing on windows XP using 
Notepad++.
I'm reading "
Java For Artists—The Art, Philosophy, and Science of Object-Oriented Programming" and given the simple code below:
-----------------------------------------------------------------------------------------------
Example 2.1: SampleClass.java package com.pulpfreepress.jfa.chapter1;
import java.util.*;
public class SampleClass {
  /**************************************
    Class and instance field declarations
  ***************************************/
  public static final int CONST_VAL = 25;
  private static int class_variable = 0;
  private int instance_variable = 0;
  public SampleClass(){
   System.out.println("Sample Class Lives!");
  }
  public static void setClassVariable(int val){
        class_variable = val;
  }
  public static int getClassVariable(){
        return class_variable;
  }
  public void  setInstanceVariable(int val){
        instance_variable = val;
  }
  public int getInstanceVariable(){
        return instance_variable;
  }
     }
 -----------------------------------------------------------------------------------------------
Example 2.2: ApplicationClass.java package com.pulpfreepress.jfa.chapter1;
public class ApplicationClass {
 public static void main(String args[]){
   SampleClass sc = new SampleClass();
   System.out.println(SampleClass.CONST_VAL);
   System.out.println(SampleClass.getClassVariable());
   System.out.println(sc.getInstanceVariable());
   SampleClass.setClassVariable(3);
   sc.setInstanceVariable(4);
   System.out.println(SampleClass.getClassVariable());
   System.out.println(sc.getInstanceVariable());
   System.out.println(sc.getClassVariable());
 }
}
-----------------------------------------------------------------------------------------------
I still got compile errors as such:
[parsing started src\com\pulpfreepress\jfa\chapter1\ApplicationClass.java]
src\com\pulpfreepress\jfa\chapter1\ApplicationClass.java:1: 'class' or 'interface' expected
package com.pulpfreepress.jfa.chapter1;
^
src\com\pulpfreepress\jfa\chapter1\ApplicationClass.java:1: illegal character: \187
package com.pulpfreepress.jfa.chapter1;
 ^
src\com\pulpfreepress\jfa\chapter1\ApplicationClass.java:1: illegal character: \191
package com.pulpfreepress.jfa.chapter1;
  ^
[parsing completed 62ms]
[parsing started src\com\pulpfreepress\jfa\chapter1\SampleClass.java]
src\com\pulpfreepress\jfa\chapter1\SampleClass.java:1: 'class' or 'interface' expected
package com.pulpfreepress.jfa.chapter1;
^
src\com\pulpfreepress\jfa\chapter1\SampleClass.java:1: illegal character: \187
package com.pulpfreepress.jfa.chapter1;
 ^
src\com\pulpfreepress\jfa\chapter1\SampleClass.java:1: illegal character: \191
package com.pulpfreepress.jfa.chapter1;
  ^
src\com\pulpfreepress\jfa\chapter1\SampleClass.java:2: 'class' or 'interface' expected
import java.util.*;
^
[parsing completed 31ms]
[total 93ms]
7 errors
After hours and several Google searches on 
'class' or 'interface' expected, checking syntax, etc with no success, I wondered what the hell this: was.
Turns out, in my efforts to create files that would be usable in Unix and Windows I encoded my text files as UTF-8.  Upon changing them back to Ansii they compiled without error.
Time to read up on Unicode.
Labels: java, programming