我在Windows 7系统上的eclipse中运行此代码,该系统返回的字符串包含Mac不具备的空格。这不是我用不同的IDE测试过的日食问题。有人可以告诉我为什么吗?
public class CharPro {
public static void main(String[] args) {
char[] foo = new char[28];
printCharArray(foo);
foo[0]='0';
foo[1]='1';
printCharArray(foo);
printCharArray(reverse(foo));
}
private static void printCharArray(char[] A) {
for (int i = 0; i < A.length; ++i)
System.out.print(A[i]);
System.out.println();
}
private static char[] reverse(char[] A){
int l=A.length;
char[] B=new char[l];
for (int i=0;i<l;i++){
B[i]=A[l-1-i];
}
return B;
}
}
答案 0 :(得分:2)
请注意,您没有为foo
数组中的所有28个位置分配值。然后,这些未初始化的位置仍然包含ASCII零,然后您可以打印出来,以及负责解释输出并向您显示解释的终端模拟器以不同方式处理。
请在new
为A
中的每个位置分配一个实际的,可见的字符(例如或
foo
)后尝试添加循环,然后重试。然后,您应该在所有平台上看到相同的输出。