有人可以告诉我为什么这个java代码在从Windows运行Mac(或unixlike)时得到不同的答案

时间:2015-02-05 01:40:18

标签: java eclipse windows macos

我在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;
    }

}

1 个答案:

答案 0 :(得分:2)

请注意,您没有为foo数组中的所有28个位置分配值。然后,这些未初始化的位置仍然包含ASCII零,然后您可以打印出来,以及负责解释输出并向您显示解释的终端模拟器以不同方式处理。

请在newA中的每个位置分配一个实际的,可见的字符(例如foo)后尝试添加循环,然后重试。然后,您应该在所有平台上看到相同的输出。