Java 字符串中出现的次数,意外的空白

Java 字符串中出现的次数,意外的空白,java,arrays,Java,Arrays,我没有通过教授给我们的测试。这是说我的代码有一个额外的空白,但我找不到它在哪里 代码: 仅打印条目之间空格的方法: 单独打印空间,使其具有条件: for (int i = 0; i < count.length; i++) { if (i != 0) System.out.print(' '); System.out.printf("%c=%d", 'a' + i, count[i]); } 或: 使用Java 8流: System.out.println

我没有通过教授给我们的测试。这是说我的代码有一个额外的空白,但我找不到它在哪里

代码:


仅打印条目之间空格的方法:

单独打印空间,使其具有条件:

for (int i = 0; i < count.length; i++) {
    if (i != 0)
        System.out.print(' ');
    System.out.printf("%c=%d", 'a' + i, count[i]);
}
或:

使用Java 8流:

System.out.println(IntStream.range(0, count.length)
        .mapToObj(i -> String.format("%c=%d", 'a' + i, count[i]))
        .collect(Collectors.joining(" ")));
还有另一种方式:

String concatString = ""; 
String tempString;
for (int i = 0; i < count.length; i++) {
    tempString = String.format("%c=%d", (char)('a' + i), count[i]);
    concatString += concatString.equals("") ? tempString : " " + tempString;
}
System.out.println(concatString);

三元运算符用于在需要时添加空格。

%c=%d← 就在那里,在结束报价之前!因为空格是无条件的,所以在最后一次输出之后总是会有空格,而不仅仅是在输出之间。当我删除该空格时,它会将空格从整个语句中去掉,因此不会返回a=0,b=0,c=0。。。。。它返回a=0b=0c=0…因此,请提前一次停止循环,并手动进行最后一次打印。。
StringBuilder buf = new StringBuilder();
for (int i = 0; i < count.length; i++) {
    buf.append(String.format("%c=%d ", 'a' + i, count[i]));
}
System.out.print(buf.toString().trim());
StringBuilder buf = new StringBuilder();
for (int i = 0; i < count.length; i++) {
    buf.append((char) ('a' + i)).append('=').append(count[i]).append(' ');
}
System.out.print(buf.toString().trim());
StringJoiner buf = new StringJoiner(" ");
for (int i = 0; i < count.length; i++) {
    buf.add(String.format("%c=%d", 'a' + i, count[i]));
}
System.out.print(buf.toString());
System.out.println(IntStream.range(0, count.length)
        .mapToObj(i -> String.format("%c=%d", 'a' + i, count[i]))
        .collect(Collectors.joining(" ")));
String concatString = ""; 
String tempString;
for (int i = 0; i < count.length; i++) {
    tempString = String.format("%c=%d", (char)('a' + i), count[i]);
    concatString += concatString.equals("") ? tempString : " " + tempString;
}
System.out.println(concatString);