Ho provato a scrivere del codice secondo la tua risposta...
codice:
String s = in.nextLine();
		if(s == s.toUpperCase())
			s = s.toLowerCase();
		char d = s.charAt(0);
		
		int pos = 0, pos2 = 0;
		
		char [] array = new char[26];
		int x = 0;
		
		for(char c='a';c<='z';c++){
			array[x] = c;
			x++;
		}
		
		for(int i=0;i<26;i++){
			if(array[i] == d)
				pos = i;	
		}
		
		System.out.print("Rotazione --> ");
		int rot = in.nextInt();
		
		pos = pos + rot % 26;
		
		System.out.println(array[pos]);
il problema che nella stampa va in Exception Java.lang.ArrayIndexOutOfBoundsException perchè l'array è piccolo, ma lo fa solamente se per esempio:

il carattere è 'u' e voglio una rotazione di 6

però se parto dal carattere 'a' con una rotazione di 30 non mi da nessun problema

cm posso fare???