2010-05-24 13 views

Odpowiedz

23

Jednym ze sposobów:

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

Dzięki, że to dokładnie to, czego szukasz! – raleighJ

+0

Ale ten kod zawiera wszystkie znaki. nie tylko listy, dostaniesz niespodziankę, kiedy dotrzesz do Z. (numery itp.) Zakłada to również, że zaczynasz od litery. – Marc

+0

Zadbałem o sytuacje A & Z z instrukcjami if, więc poprzednia litera do A to Z, a następna litera po Z to A. – raleighJ

3

Jeśli są ograniczone do alfabetu łacińskiego, można skorzystać z faktu, że znaki w tabeli ASCII są uporządkowaną alfabetycznie, więc:

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

wyjść D i B.

Co zrobić, to dodać char i int, co skutecznie dodając int do kodu ASCII char. Po odesłaniu do char kod ascii jest konwertowany na znak.

11

Dobrze, jeśli masz na myśli „ABC” potem podzielić na dwie sekwencje AZ i AZ, najprostszym sposobem, myślę byłoby użyć zmiennej char i zwiększamy indeksie jeden.

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

samo dotyczy ubytek:

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

rzeczą jest to, że reprezentacja liter AZ i AZ są 97-122 65-90 są, więc jeśli sprawa listu jest ważny trzeba zwrócić na to uwagę.

0

właśnie tak:

System.out.printf("%c\n",letter); 
letter++; 
Powiązane problemy