Quel metodo è un costruttore, e l'errore che dici è dovuto al fatto che hai indicato un valore di ritorno, mentre nel costruttore non bisogna indicarlo. Se vuoi approfondire puoi leggere qua .
Per quanto riguarda la domanda iniziale, lo XOR vuoi farlo fra una lettera e cos'altro? Perché se fai lo XOR di una lettera con se stessa il risultato è sempre 0, visto che i bit sono gli stessi! Nel codice che ti avevo postato, lo XOR veniva fatto fra un char e una chiave "segreta" (la variabile "key") che veniva passata tramite il costruttore.
Per leggere da tastiera, invece, puoi usare la classe di mark oppure questi metodi:
/*
* La classe scanner non prevede un metodo per la lettura di un singolo carattere
*/
Scanner scanner = new Scanner(System.in); //Creo uno scanner
String s = scanner.nextLine(); //Leggo da tastiera una riga
char c = s.charAt(0); //Prendo il primo carattere della riga