2010-05-24 41 views

回答

23

方式一:

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

感謝,這正是我一直在尋找! – raleighJ 2010-05-24 18:46:25

+0

但是這段代碼包含了所有字符。不僅是字母,當你到達Z時,你會得到一個驚喜(數字等)。 另外,這裏假設你從一封信開始。 – Marc 2010-05-24 18:53:45

+0

我用if語句處理A和Z情況,以便前面給A的字母是Z,Z後面的下一個字母是A. – raleighJ 2010-05-24 19:00:45

3

如果僅限於拉丁字母,你可以使用一個事實,即在ASCII表中的字符,按字母順序排列,所以:

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

輸出DB

你要做的就是添加一個charint,從而有效地增加了intchar的ASCII碼。當您退回到char時,ASCII代碼將轉換爲字符。

11

那麼如果你的意思是「ABC」然後他們分成AZ兩個序列和AZ,我認爲最簡單的方法是使用一個char變量,並增加由索引一。

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

同樣適用於遞減:

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

的事情是,AZ是97-122和AZ是65-90,因此,如果這封信的情況下,重要的是你需要的字母表示要注意它。

0

就像這樣:

System.out.printf("%c\n",letter); 
letter++; 
相關問題