2016-05-18 4 views
3

Я хотел, чтобы преобразовать значения ASCII в его соответствующие символы, так что я написал этот простой код:ASCII преобразование

public class Test { 


    public static void main(String[] args) { 
     int i=0; 
     char ch='c';  
     for(i=0;i<127;i++) 
     { 
      ch=(char)i; 
      System.out.print(ch+"\t"); 
     } 
     System.out.println("finish"); 
    } 
} 

Но выход не показывающее ничего и вместе с тем, что управление даже не выходя из цикла, хотя процесс завершается. plz объясняет такое поведение и правильный код.

+1

Какой язык? – STF

+1

Не имеет смысла пытаться напечатать что-либо ниже символа 32, поскольку они являются управляющими символами. – Michael

+1

** abc ** символы ASCII от 32 до 122, а не от 0 до 127 – STF

ответ

1

Как указывали другие люди, вы включили контрольные символы; если вы измените цикл (как показано ниже), вы получите полный набор, за исключением этих контрольных символов:

public static void main() { 
    for(int i = 33; i < 127; i++) 
    { 
     char ch = (char) i; 
     System.out.print(i + ":" + ch + "\t"); 
    } 
    System.out.println("finish"); 
} 
Смежные вопросы