Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将整数数组转换为字符串_Java_Arrays_String - Fatal编程技术网

Java 将整数数组转换为字符串

Java 将整数数组转换为字符串,java,arrays,string,Java,Arrays,String,我是一个初学者,试图为课堂上的凯撒密码作业编写一个程序。目前,我一直在尝试创建一个与第一个函数相反的函数,即接受一个整数数组并返回一个字符串。在这一点上,我完全不知道该怎么做,我真的需要一些帮助 public static int[] string(String str) { int [] arr = new int [str.length()]; for (int i = 0; i < str.length(); i++) { str.toUppe

我是一个初学者,试图为课堂上的凯撒密码作业编写一个程序。目前,我一直在尝试创建一个与第一个函数相反的函数,即接受一个整数数组并返回一个字符串。在这一点上,我完全不知道该怎么做,我真的需要一些帮助

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; 
}
publicstaticint[]字符串(stringstr){
int[]arr=新int[str.length()];
对于(inti=0;i检查stringTo是否工作
}
返回arr;
}
公共静态字符串符号(int[]符号){
字符串消息=新字符串();
char[]字母=新字符[symbols.length];
对于(int i=0;i
如果我正确理解了第一个函数中的代码,那么您需要将
[1,2,3,4,5]
转换为
“12345”
的东西,对吗

然后,您的函数可以如下所示:

public static String arrayToString(int[] array) {
    String result = "";
    for(int i : array) {
        result += i;
    }
    return result;
}
但是,对于长数组,这可能会有糟糕的性能,因为每个
+=
都会创建一个新的
字符串,所以实际上这会更好:

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

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

这里有一段代码可以帮助您

public String changeIntToString(int aNumber){
    String theString = "";
    theString += aNumber;
    return theString;
}
任何添加到字符串的内容都将变成字符串。这是另一个例子

String lotOfInt = "" + 1 + 2 + 3;
这将变成一串“123”。我想你明白了。现在您只需要循环该数组并将其组合成字符串

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

编辑:啊。马丁斯赢了我。:)

int[]a={1,2,3,4,5,6};
字符串str=“”;

对于使用Java 8流的(int i=0;i方法:

 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"

String类具有构造函数
新字符串(char[]值)
。使用它就可以了。你会遇到什么错误?参考这个是的,编译器可能会。这是一个简单的附加,我认为是java 5或java 7。不记得哪一个可能会尝试将其转换为一个字符串,它会产生与使用StringBuilder相同的效果。快速跟进问题:如果我之前需要将int-arr更改为chars,该怎么办它变成了一个字符串。我想这是我遇到的最大问题。你不需要
Integer.toString()
str=str+arr[I]
就可以了。
 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"