Java 从方法返回字符串,而不是打印到System.out

Java 从方法返回字符串,而不是打印到System.out,java,json,Java,Json,我编写了下面的代码来打印由星号组成的多个E形。我想知道如何从方法返回字符串,而不是打印到System.out。当我尝试使用stringappend时,它只返回一行星号,而不是我想要的E形 返回可以是字符串方法或JSON格式。任何帮助都会很好 for (int i=0; i < 5; i++) { String print = i % 2 == 0 ? "***** " : "* "; for(int j=0; j < numberOfE; j++)

我编写了下面的代码来打印由星号组成的多个E形。我想知道如何从方法返回
字符串
,而不是打印到
System.out
。当我尝试使用stringappend时,它只返回一行星号,而不是我想要的E形

返回可以是字符串方法或JSON格式。任何帮助都会很好

for (int i=0; i < 5; i++) {
    String print = i % 2 == 0 ? "*****    " : "*        ";
    for(int j=0; j < numberOfE; j++) {
        System.out.print(print);
    }
    System.out.println();
}
for(int i=0;i<5;i++){
字符串打印=i%2==0?****:“*”;
对于(int j=0;j
您可以用字符串追加替换
System.out.print()
,但也要记住用字符串追加换行符替换
System.out.println()

String ans = "";
for (int i = 0; i < 5; i++) {
    String print = i % 2 == 0 ? "*****    " : "*        ";
    for (int j = 0; j < numberOfE; j++) {
        ans += print;
    }
    ans += '\n';
}
return ans;

我不明白这个问题。你能包含整个方法的代码吗?最好使用StringBuilder Ithink@ScaryWombat当然可以,但学习编程一步一个脚印地进行。:)我认为在将来提到
StringBuilder
StringBuffer
是很好的,但是正如您所说的@pkpnd,现在不需要被它所束缚。回答很好:)我构建了一个小测试,StringBuilder的速度明显更快——每次我将循环增加一个数量级,速度都会提高一个数量级。例如,如果我的迭代次数多了10倍,那么StringBuilder的速度就快了10倍。但是你必须在循环的1000次迭代之后才能得到显著的差异。(在100k时,差异实际上相当严重)@Rick,性能完全是我所期望的,但我怀疑OP运行的循环迭代不止一部分。
StringBuilder ans = new StringBuilder();
for (int i = 0; i < 5; i++) {
    String print = i % 2 == 0 ? "*****    " : "*        ";
    for (int j = 0; j < numberOfE; j++) {
        ans.append(print);
    }
    ans.append('\n');
}
return ans.toString();