Arrays 如何从方法中将数组打印为字符串?
我试图打印由管道(“|”)分隔的数组,但它在我的main方法中的println语句之前一直打印。应该是这样的: 90 | 0 |-12 | 25 | 10412 | 445 |-32 | 1 我一直在搞乱返回语句,但我想不出还有什么别的事要做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++){
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;
}