【问题标题】:Java rectangle of stars with for loop with separate print as String带有for循环的Java矩形矩形,单独打印为String
【发布时间】:2016-12-20 19:16:39
【问题描述】:

我需要得到一个由* 组成的大小为 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);
    }
}

【问题讨论】:

  • 你有什么问题?
  • 您的打印方法对于打印数组是错误的,您可能应该遍历其内容并打印数组中的每个元素,而不是打印数组对象
  • 或使用Arrays.toString()。此外,您正在从一个显然应该修改 String[] 的方法打印,而不是打印其输出。
  • @Natecat 这不会以*** 的形式打印数据,而是以[*, *, *] 的形式打印数据,这看起来不像 OP 所需要的。
  • @ElliottFrisch Offtopic ...我有一些想法...有一个关于在数组数组中查找重复项的问题;我认为你用 xor 的一个很好的解决方案来回应这个问题。那真的是你吗,如果是的话,你能放一个指向那个答案的链接吗?

标签: java arrays string loops


【解决方案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);
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多