2010-05-24 33 views

Respuesta

23

Una manera:

String value = "C"; 
int charValue = value.charAt(0); 
String next = String.valueOf((char) (charValue + 1)); 
System.out.println(next); 
+0

Gracias, eso es exactamente lo que estaba buscando! – raleighJ

+0

Pero este código incluye todos los caracteres. no solo letras, obtendrá una sorpresa cuando llegue a Z. (números, etc.) Además, esto supone que comienza con una letra. – Marc

+0

Me ocupé de las situaciones de A & Z con declaraciones if, de modo que la letra anterior a A es Z y la siguiente letra después de Z es A. – raleighJ

3

Si usted está limitado al alfabeto latino, puede utilizar el hecho de que los personajes de la tabla ASCII están ordenadas alfabéticamente, por lo que:

System.out.println((char) ('C' + 1)); 
System.out.println((char) ('C' - 1)); 

salidas D y B.

Lo que se hace es añadir un char y un int, añadiendo así efectivamente el int al código ASCII de la char. Cuando vuelve a lanzar al char, el código ascii se convierte en un carácter.

11

Bueno, si te refieres a la 'ABC' entonces se dividió en dos secuencias AZ y AZ, la forma más sencilla Creo que sería utilizar una variable de tipo char y para incrementar el índice de uno.

char letter='c'; 
letter++; // (letter=='d') 

mismo ocurre con el decremento:

char letter='c'; 
letter--; // (letter=='b') 

cosa es que la representación de las letras az y AZ son 97-122 son 65-90, por lo que si el caso de la carta es importante que usted necesita prestarle atención

0

como este:

System.out.printf("%c\n",letter); 
letter++; 
Cuestiones relacionadas