2012-11-20 72 views
2

有人可以幫忙嗎?我對Java編程完全陌生,我需要將數字表示爲數字,以便我可以使用數字而不是字母執行操作(如匹配兩個數字)。例如, A = 1; B = 2; C = 3; ......非常感謝用數字表示字母

+3

'的System.out.println((int)的 'A');' – jlordo

+0

@jlordo張貼作爲答案。你會得到很多upvotes。 –

+1

@jlordo:那實際上是'65',而不是'1' ...... – mellamokb

回答

2
System.out.println((int)'A'); 

會給你65(ASCII碼爲A爲65)如果你想在

System.out.println((int)'A' - 64); 

將抵消數爲1

使用上述方法將較低的'a'打印到1,只需將其轉換爲大寫,即Character.toUppserCase('a');

+0

+1,以獲得最簡單和最輕量級的答案。 –

2

創建conversor方法像這樣:

public class Test { 
    public static void main(String[] args) { 
     Test t = new Test(); 

     System.out.println(t.alphabetToNumber('A')); 
     System.out.println(t.numberToAlphabet(1)); 
    } 

    public int alphabetToNumber(char a) { 
     return a - 64; 
    } 

    public char numberToAlphabet(int i) { 
     return (char) (i + 64); 
    } 
} 
+0

'System.out.println(t.alphabetToNumber('0'));'< - '-16' – jlordo

+0

@jlordo'0'不是字母表。 OP正在處理大寫字母字符。 – falsarella

+0

來自OP:'A = 1; B = 2; c = 3;'大寫字母A,大寫字母B,小寫字母c – jlordo

2

考慮到你是新的節目,你要知道有個東西叫ASCII Code。這段代碼描述了哪個字符是如何編碼的。正如你所看到的,字符「a」由數字97表示。所以在Java中,這個

System.out.println((char)(97)); 

會打印字符'a'。 (char)是所謂的演員。這意味着數字97被「強制」顯示爲一個字符。反之,你可以做

System.out.println((int)'a'); 

這迫使字符「a」,以顯示其ASCII碼數值97

所以,如果你想通過1-26從所表示的字符到z你要做的:

char yourChar = 'z'; 
int yourCharInt = (int)yourChar - (int)'a' + 1; 
相關問題