Java矩形的星星与for循环与单独的打印作为字符串

时间:2016-12-20 19:16:39

标签: java arrays string loops

我需要一个由大小为5x4的*组成的矩形。

我需要为此代码提供实现

String[] number1 =model1(5,4);
print(model1);

这是我的尝试:

public class mm {
    public static void main(String args[]) {    
        String[] number1 = model1(5, 4);
        print(model1);
    }

    private static String[] model1(int i, int j) {
        // TODO Auto-generated method stub
        int width=i;
        int height=j;

        for ( int row = 0 ; row < height ; row++ )
        {
            for ( int col = 0 ; col < width ; col++ )
            {
                System.out.print("*")
            }
            System.out.print(" ")
        }
        String[] a = a.new().amodel1(i,j);
        return a ;
    }

    public static void print(String[] n) {
        System.out.println(n);
    }

    public static void print(String s) {
        System.out.println(s);
    }
}

1 个答案:

答案 0 :(得分:1)

你的方法很好但是如果你需要一维阵列,那么你的方法就不会做你想要的。

您忘记将元素添加到数组中,然后将该数组传递给print方法,请查看此代码:

这会将*字符添加到数组中,如果它在宽度端,则会添加换行符(\n),然后只需打印数组

public class StarsRectangleExample {

    public static String[] drawStars(int width, int height) {
        String[] array = new String[height * width];
        for (int i = 0; i < array.length; i++) {
            array[i] = "*";
            if ((i + 1) % width == 0) {
                array[i] += "\n";
            }
        }
        return array;
    }

    public static void print(String[] stars) {
        for (int i = 0; i < stars.length; i++) {
            System.out.print(stars[i]);
        }
    }

    public static void main(String[] args) {
        String[] stars = drawStars(5, 4);
        print(stars);
    }
}