将整数数组转换为String

时间:2016-02-20 03:55:20

标签: java arrays string

我是初学者,正在尝试为课程编写Caesar密码分配程序。目前我很难尝试创建一个与第一个函数相反的函数,接受一个整数数组并返回一个String。在这一点上,我完全不知道如何做到这一点,并且真的可以使用一些帮助。

public static int[] string(String str) {
    int [] arr = new int [str.length()];

    for (int i = 0; i < str.length(); i++) {   
        str.toUpperCase();
        arr[i] = str.charAt(i)-65;
        // System.out.println(arr[i]);--> check to see if stringTo was working
    }
    return arr;
}



public static String symbol(int[] symbols) { 
    String message = new String();

    char[] letters = new char[symbols.length];



    for (int i = 0; i < symbols.length; i++) {

        symbols[i] = letters[i];

        message.toUpperCase();
        message =  message.toString();


        System.out.print(message);

    }    

    return message; 
}

4 个答案:

答案 0 :(得分:1)

meteorhacks:picker

答案 1 :(得分:0)

如果我正确理解了您的第一个功能中的代码,那么您需要将[1,2,3,4,5]转换为"12345"的内容吗?

然后你的功能看起来像这样:

public static String arrayToString(int[] array) {
    String result = "";
    for(int i : array) {
        result += i;
    }
    return result;
}

但是这对于长数组来说可能会有糟糕的表现,因为每个+=会创建一个新的String,所以实际上这会更好:

public static String arrayToString(int[] array) {
    StringBuilder builder = new StringBuilder();
    for(int i : array) {
        builder.append(i);
    }
    return builder.toString();
}

javac JVM 实际上可能会自动将第一个代码段转换为第二个代码段。

答案 2 :(得分:0)

以下是一段代码可以帮助您。

public String changeIntToString(int aNumber){
    String theString = "";
    theString += aNumber;
    return theString;
}

添加到String的任何内容都将变为String。所以这是另一个例子。

String lotOfInt = "" + 1 + 2 + 3;

这将变成一串&#34; 123&#34;。我想你明白了。现在你只需要循环遍历该数组并将其组合成一个字符串。

奖金和正确的方法...使用StringBuilder类。搜索它是什么以及如何使用它。 ;)

编辑:啊。 MartinS打败了我。 :)

答案 3 :(得分:0)

使用Java 8 Streams的方法:

 int[] intArray = new int[] {1, 2, 3, 4};

 String result = IntStream.of(intArray)
                          .mapToObj(String::valueOf)
                          .collect(Collectors.joining(","));
 System.out.println(result); // "1,2,3,4"