【问题标题】:Multidimensional array in java, printing out a framejava中的多维数组,打印出一个框架
【发布时间】:2013-11-29 08:55:59
【问题描述】:

我的问题是,我怎样才能创建一个多维数组,它在视觉上是一个由“*”符号组成的框架,如下图所示。

在我的作业中,我有 2 个常量 - 框架的宽度和高度。 我怎样才能使数组看起来像那样,而不必为数组中的每个空白空间都添加一个“*”。

http://imageshack.us/a/img24/5600/ib0x.jpg

这是我已经做过的:

public class UpravljalnikOken{
public static final int FRAME_WIDTH = 15;
public static final int FRAME_HEIGHT = 15;
//public static final int NAJVECJE_ST_OKEN = 5;

public static void main (String[]args){
    char [] [] okvir = new char [FRAME_HEIGHT] [FRAME_WIDTH];

    okvir [0][0] = '*';
    okvir [0][1] = '*';
    okvir [0][2] = '*';
    okvir [0][3] = '*';
    okvir [0][4] = '*';
    okvir [0][5] = '*';
    okvir [1][0] = '*';
    okvir [2][0] = '*';
    okvir [3][0] = '*';
    okvir [4][0] = '*';
    okvir [5][0] = '*';
    okvir [6][0] = '*';
    // ...….. is this the only way? 

display(okvir);
}
public static void display(char x[][]){
    for(int row=0;row<x.length;row++){
        for(int column=0;column<x[row].length;column++){
            System.out.print(x[row][column]);
        }
        System.out.println();
    }

}

}

我是否朝着正确的方向前进?或者有没有更简单的方法? 感谢您的帮助:)

【问题讨论】:

    标签: arrays printing multidimensional-array constants frame


    【解决方案1】:

    您需要使用 2 个 for 循环遍历数组,然后使用一个简单的 if 语句来限制要在框中间打印的“*”(r = 行,c = 列)。此外,您的班级名称似乎有点随意,但像 ArrayPractice 或 StarBox 这样的名称甚至会更具描述性。

       for (int r = 0; r < okvir.length; r++) {
            for (int c = 0; c < okvir[c].length; c++) {
                // Only the first and the last line should be all '*'
                if (r > 1 && r < FRAME_HEIGHT - 2) {
                    okvir[r][0] = '*';
                    okvir[r][FRAME_WIDTH - 1] = '*';
                }
                else {
                    okvir[r][c] = '*';  
                }
            } // end for
        } // end for
    

    【讨论】:

    • 非常感谢!真的很感激,对我帮助很大:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-25
    • 2011-01-22
    • 1970-01-01
    • 1970-01-01
    • 2019-08-13
    • 1970-01-01
    相关资源
    最近更新 更多