将控制台输出作为返回语句提供给Java

将控制台输出作为返回语句提供给Java,java,methods,return,Java,Methods,Return,我是新的编码,我必须编码一个NxN星型网格作为分配。教授有一个测试程序,提供输入并测试代码。 问题是,我们必须将代码作为一个方法来编写,而测试将得到我放在return语句中的任何结果,而不是正确的输出。如何重新排列return语句将给出结果的代码 public class Assignment { public static void main(String[] args) { run(0); } public static int run(int i) {

我是新的编码,我必须编码一个NxN星型网格作为分配。教授有一个测试程序,提供输入并测试代码。 问题是,我们必须将代码作为一个方法来编写,而测试将得到我放在return语句中的任何结果,而不是正确的输出。如何重新排列return语句将给出结果的代码

 public class Assignment 
{
public static void main(String[] args) 
    {
    run(0);
    }
public static int run(int i)
    {
        for (int row = 0; row < i; row++)
        {
            for (int col = 0; col < i; col++)
                System.out.print("*");
                System.out.print("\n");
        }

        //How can I change the return so that the tester gets the  
        //correct result?

        return ?output?;
    }
}
公共类赋值
{
公共静态void main(字符串[]args)
{
运行(0);
}
公共静态整数运行(整数i)
{
for(int行=0;行
如果我很了解您,您希望生成一个对象来返回它。有许多可能性,例如:

public static String run(int size) {
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < size; i++) {
        for (int j = 0; j < size; j++) {
            sb.append("*");
        }
        sb.append("\n");
    }

    System.out.println(sb.toString());

    return sb.toString();
}
公共静态字符串运行(int-size){
StringBuilder sb=新的StringBuilder();
对于(int i=0;i

您需要将返回类型更改为String。

正确的输出应该是什么?例如,如果测试输入为2,则应该打印一个2x2平方的*As**\n**\n函数的返回类型必须是
int
NxN
square永远不会是int。那么如何重新排列此代码?我尝试以一种方式重新安排它,我的方法类型将是一个字符串,并使返回值为null,然后结果自然为null:/在这一点上有点卡住了这是好的,但在您的解决方案中有很多语句我们还没有学习,这些内容必须是初学者级别的:d唯一的新东西是StringBuilder。与其声明StringBuilder,不如声明一个字符串,而不用sb.append(“character”)执行myString+=“character”,最后您可以返回该字符串。它的效率较低,但仍然有效。我已经用string和System.out.print代替了其他东西。但是我可以用什么来代替x.tostring()?