2014-02-19 45 views
-2

它在q=c[n];處給出錯誤我想要c[n].i的值不能訪問它。如何將char變量值轉換爲int?

public static String aSCII() { 

    char c[] = query.toCharArray(); 
    int q; 

    for (int n = 0; n <= query.length(); n++) { 
     q = c[n]; 

     if (q + aSCIIValue > 126) { 
      c[n] = (char) (32 + aSCIIValue - (126 - aSCIIValue)); 
     } else { 
      c[n] += aSCIIValue; 
     } 
    } 
} 

請幫我

+0

「它錯誤」?發佈錯誤。 – chrylis

回答

0

一個char已經是int,只投它:

q = (int) c[n]; 
+0

解釋downvote? – Rogue

+0

這不是必需的; Java將把char提升爲int。 OP還有一些他沒有充分描述的問題。 – chrylis

1

觀察循環:

for(int n=0;n<=query.length();n++) 

它仍然會在運行時n == query.length()。這將導致ArrayIndexOutOfBoundsException