java整数数组转换为ascii并放入char数组

时间:2015-01-04 11:10:07

标签: java c arrays

这是问题 编写一个生成int数组作为参数的方法,进行转换 将生成的整数转换为字符并打印新的char数组。 数组值应在[0 -255]范围内。

public static void main(String[] args) {
    char[] array1 = new char [100];
    int d;
    int[] array = getArray();
    convert(array,array1);
    for (int i = 0; i < array.length; i++) {
        System.out.print(array[i] + " ");
    }
    System.out.println();
    for (int i = 0; i < 100; i++) {
        System.out.print(array1[i] + " ");
    }
}

public static int convert(int[] array, char[] array1) {
    for (int a=0;a<100;a++) {
        array [a] = toChars(array1[a]);
    }
}

public static int[] getArray() {
    int[] array = new int[100];
    for (int i = 0; i < array.length; i++) {
        array[i] = (int)(Math.random() * 255);
    }
    System.out.println();
    return array;
}

我遇到的问题很少。我无法将整数转换为ASCII码。我可以用而不是:

for (int a=0;a<100;a++) {
    array [a] = toChars(array1[a]);
}

2 个答案:

答案 0 :(得分:1)

你可以这样做:

public static void convert(int[] array, char[] array1) {
    int length = array.length;
    for (int i = 0; i < length; i++) {
        // this converts a integer into a character
        array1[i] = (char) array[i];
    }
}

答案 1 :(得分:0)

您的转换方法应为:

public static void convert(int[] array, char[] array1) {
    for (int a = 0; a < 100; a++) {
        array1[a] = (char) array[a];
    }
}

只需将cast int键入char。