Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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
Arrays 如何从方法中将数组打印为字符串?_Arrays_Printing_Return - Fatal编程技术网

Arrays 如何从方法中将数组打印为字符串?

Arrays 如何从方法中将数组打印为字符串?,arrays,printing,return,Arrays,Printing,Return,我试图打印由管道(“|”)分隔的数组,但它在我的main方法中的println语句之前一直打印。应该是这样的: 90 | 0 |-12 | 25 | 10412 | 445 |-32 | 1 我一直在搞乱返回语句,但我想不出还有什么别的事要做 static String arrayToString(int[] input){ String toString = ""; for (int i = 0; i < input.length; i++){

我试图打印由管道(“|”)分隔的数组,但它在我的main方法中的println语句之前一直打印。应该是这样的:

90 | 0 |-12 | 25 | 10412 | 445 |-32 | 1

我一直在搞乱返回语句,但我想不出还有什么别的事要做

    static String arrayToString(int[] input){
    String toString = "";
     for (int i = 0; i < input.length; i++){
        if (i > 0){
            System.out.print("|");
        } else if (i == input.length - 1){
            System.out.print("");
        }
        System.out.print(input[i]);
     }
     return toString;
}

public static void main(String[] args) {

    int[] testArray1 = {90, 0, -12, 25, 10412, 445, -32, 1};

    CommonArrayAlgorithms testingObject = new CommonArrayAlgorithms();

    System.out.println("Testing arrayToString");
    String arrayString;
    arrayString = testingObject.arrayToString(testArray1);         //<--- prints here
    System.out.println(" arrayToString returned: " + arrayString); //<--- should print here
何时应该:

Testing arrayToString
arrayToString returned: 90|0|-12|25|10412|445|-32|1

这是因为您正在调用在标题字符串之前打印数组的方法,并且您的方法返回一个空字符串,您试图将其存储在另一个字符串上,并在标题之后打印它。 因此,解决方案是:

System.out.print("your title: "+testingObject.arrayToString(array1));

在您的方法中,您将使用
System.out.print
输出到控制台,您应该在其中添加
toString
变量

按如下方式更改方法(保留当前逻辑):

静态字符串arrayToString(int[]输入){
字符串toString=“”;
for(int i=0;i0){
toString+=“|”;
}else if(i==input.length-1){
toString+=“”;
}
toString+=输入[i];
}
返回字符串;
}

就是这样!非常感谢你!没问题。刚刚对它进行了编辑,我错过了一个
System.out.print
System.out.print("your title: "+testingObject.arrayToString(array1));
static String arrayToString(int[] input){
    String toString = "";
    for (int i = 0; i < input.length; i++){
        if (i > 0){
            toString += "|";
        } else if (i == input.length - 1){
            toString += "";
        }
        toString += input[i];
     }
     return toString;
}