我正在尝试打印由管道(“ |”)分隔的数组,但是在我的main方法中,它一直在println语句之前打印。它应该看起来像这样:
90 | 0 | -12 | 25 | 10412 | 445 | -32 | 1
我一直在用return语句弄乱,但我想不出其他办法。
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
90|0|-12|25|10412|445|-32|1 arrayToString returned:
应该在什么时候出现:
Testing arrayToString
arrayToString returned: 90|0|-12|25|10412|445|-32|1
答案 0 :(得分:0)
这是因为您正在调用在标题字符串之前打印数组的方法,并且您的方法还返回了一个空字符串,您试图将其存储在另一个字符串上并在标题之后打印它。 因此,解决方案:
System.out.print("your title: "+testingObject.arrayToString(array1));
答案 1 :(得分:0)
在您的方法中,您将使用System.out.print
输出到控制台,您应在其中添加到toString
变量中。
如下更改您的方法(保持当前逻辑):
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;
}