为什么当我尝试在 Java 中按数组方法打印 ASCII 表时会出现空白输出?



编写一个程序来打印所有 256 个字符的 ASCII 值。

int digit[] = new int[256];
char array[] = new char[256];
for(int i=0;i<array.length;i++)
{
array[i] = (char) digit[i];
}
for(int i=0;i<array.length;i++)
{
System.out.println(array[i]);
}

运行此代码时,我得到一个空白输出。

你不需要int digit[].您只需要从 0 循环到 255,并将每个int转换为字符。

for (int i = 0; i < 256; i++) {
array[i] = (char) i;
}

或者,您可以使用char编写for循环。

for (char i = 0; i < 256; i++) {
System.out.println(i);
}

由于您没有初始化它们,因此digit中的所有元素都是0,ASCII0是空字符。

老实说,你不需要那里的数组 - 只需迭代它们的数字 0 到 255 并将它们的转换打印到chars:

for (int i = 0; i < 256; ++i) {
System.out.println(i + " -- " + ((char)i)));
}

最新更新